{"id":7206,"date":"2013-03-14T22:27:48","date_gmt":"2013-03-14T21:27:48","guid":{"rendered":"https:\/\/opistobranquis.info\/pneumoderma-violaceumpneumoderma-violaceumpneumoderma-violaceum"},"modified":"2018-02-25T12:49:05","modified_gmt":"2018-02-25T11:49:05","slug":"pneumoderma-violaceum","status":"publish","type":"page","link":"https:\/\/opistobranquis.info\/en\/guia\/pteropoda\/gymnosomata\/pneumoderma-violaceum\/","title":{"rendered":"Pneumoderma violaceum"},"content":{"rendered":"<p><\/p>\n<h3><em>Pneumoderma violaceum<\/em> d&#8217;Orbigny, 1834<\/h3>\n<p><span style=\"font-size:10pt;\" class=\"aligncenter\"><div id=\"featured-img-id\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/opistobranquis.info\/wp-content\/uploads\/2013\/09\/nudiblank.jpg?w=900&#038;ssl=1\" alt=\"\" \/><\/div><center><em><\/em> by OPK<\/center><\/span><p><\/p><div class=\"opk-worms\"><h3>WoRMS Taxonomic Information<\/h3><div class=\"opk-success\">Current accepted name: <strong><em>Pneumoderma violaceum<\/em> A. d&#039;Orbigny, 1836<\/strong><\/div><h4>Current classification<\/h4><table class=\"widefat striped\"><tr><th>Superdomain<\/th><td><a target=\"_blank\" href=\"https:\/\/www.marinespecies.org\/aphia.php?p=taxdetails&id=1\">Biota<\/a><\/td><\/tr><tr><th>Kingdom<\/th><td><a target=\"_blank\" href=\"https:\/\/www.marinespecies.org\/aphia.php?p=taxdetails&id=2\">Animalia<\/a><\/td><\/tr><tr><th>Phylum<\/th><td><a target=\"_blank\" href=\"https:\/\/www.marinespecies.org\/aphia.php?p=taxdetails&id=51\">Mollusca<\/a><\/td><\/tr><tr><th>Class<\/th><td><a target=\"_blank\" href=\"https:\/\/www.marinespecies.org\/aphia.php?p=taxdetails&id=101\">Gastropoda<\/a><\/td><\/tr><tr><th>Subclass<\/th><td><a target=\"_blank\" href=\"https:\/\/www.marinespecies.org\/aphia.php?p=taxdetails&id=14712\">Heterobranchia<\/a><\/td><\/tr><tr><th>Infraclass<\/th><td><a target=\"_blank\" href=\"https:\/\/www.marinespecies.org\/aphia.php?p=taxdetails&id=1057247\">Euthyneura<\/a><\/td><\/tr><tr><th>Subterclass<\/th><td><a target=\"_blank\" href=\"https:\/\/www.marinespecies.org\/aphia.php?p=taxdetails&id=1057250\">Tectipleura<\/a><\/td><\/tr><tr><th>Order<\/th><td><a target=\"_blank\" href=\"https:\/\/www.marinespecies.org\/aphia.php?p=taxdetails&id=325345\">Pteropoda<\/a><\/td><\/tr><tr><th>Suborder<\/th><td><a target=\"_blank\" href=\"https:\/\/www.marinespecies.org\/aphia.php?p=taxdetails&id=164\">Gymnosomata<\/a><\/td><\/tr><tr><th>Superfamily<\/th><td><a target=\"_blank\" href=\"https:\/\/www.marinespecies.org\/aphia.php?p=taxdetails&id=411912\">Clionoidea<\/a><\/td><\/tr><tr><th>Family<\/th><td><a target=\"_blank\" href=\"https:\/\/www.marinespecies.org\/aphia.php?p=taxdetails&id=165\">Pneumodermatidae<\/a><\/td><\/tr><tr><th>Genus<\/th><td><a target=\"_blank\" href=\"https:\/\/www.marinespecies.org\/aphia.php?p=taxdetails&id=138365\"><em>Pneumoderma<\/em><\/a><\/td><\/tr><tr><th>Species<\/th><td><a target=\"_blank\" href=\"https:\/\/www.marinespecies.org\/aphia.php?p=taxdetails&id=140823\"><em>Pneumoderma violaceum<\/em> A. d&#039;Orbigny, 1836<\/a><\/td><\/tr><\/table><p class=\"footer\">Classification provided by the World Register of Marine Species (WoRMS). [<a target=\"_blank\" href=\"https:\/\/www.marinespecies.org\/aphia.php?p=taxdetails&id=140823\">140823<\/a>]<\/p><\/div><strong>Synonyms<\/strong><\/p>\n<ul>\n<li><em>Cirrifer paradoxus<\/em> Pfeffer, 1879<\/li>\n<li><em>Pneumoderma atlanticum<\/em> (Oken, 1815)<\/li>\n<li><em>Pneumoderma atlanticum pacificum<\/em> Dall, 1871<\/li>\n<li><em>Pneumoderma atlanticum var. bonnevii<\/em> van der Spoel, 1972<\/li>\n<li><em>Pneumoderma boasi<\/em> Pelseneer, 1905<\/li>\n<li><em>Pneumoderma eurycotylum<\/em> Meisenheimer, 1905<\/li>\n<li><em>Pneumoderma pacificum<\/em> Dall, 1871<\/li>\n<li><em>Pneumoderma peronii<\/em> Cuvier, 1816<\/li>\n<li><em>Pneumoderma pygmaeum<\/em> Tesch, 1903<\/li>\n<li><em>Pneumoderma souleyeti<\/em> Pelseneer, 1887<\/li>\n<li><em>Pneumoderma violaceum pacificum<\/em> Dall, 1871<\/li>\n<li><em>Pneumodermis atlanticus<\/em> Oken, 1815<\/li>\n<\/ul>\n<p><strong>Description<\/strong><\/p>\n<p><strong>Biology<\/strong><\/p>\n<p><strong>Etymology<\/strong><\/p>\n<ul>\n<li><em>Pneumoderma<\/em>, from\u00a0Greek &#8220;pneumein&#8221;, breathe\u00a0+ &#8220;derma&#8221;, skin.<\/li>\n<li><em>Violaceum<\/em>, from\u00a0Latin &#8220;violaceus&#8221;, dark blue or purple.<\/li>\n<\/ul>\n<p><strong>Distribution<br \/>\n<\/strong>    <div class=\"opk-osm-block\" style=\"margin-bottom:30px;\">\n        <div id=\"opk-osm-map-4\" class=\"opk-osm-map\"><\/div>\n        <div class=\"opk-osm-status\" aria-live=\"polite\">Loading records\u2026<\/div>\n        <div class=\"opk-osm-legend\">\n            <span class=\"opk-osm-main-legend\"><\/span>\n            <span class=\"opk-osm-legend-separator\"><\/span>\n            <span class=\"opk-osm-source-legend\"><\/span>\n        <\/div>\n    <\/div>\n    <style>\n        .opk-osm-block { position:relative; }\n        .opk-osm-map { width:100%; height:500px; position:relative; }\n        .opk-osm-status {\n            position:absolute; z-index:1000; top:10px; left:50%; transform:translateX(-50%);\n            background:rgba(255,255,255,.92); padding:4px 10px; border-radius:12px;\n            box-shadow:0 1px 4px rgba(0,0,0,.25); font-size:12px; line-height:1.2;\n            white-space:nowrap; pointer-events:none;\n        }\n        .opk-osm-status:empty { display:none; }\n        .opk-osm-legend {\n            display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:2px 8px;\n            text-align:center; font-size:13px; line-height:1.35; margin-top:4px;\n        }\n        .opk-osm-main-legend { white-space:nowrap; }\n        .opk-osm-legend-separator {\n            display:inline-block; width:1px; height:14px; background:rgba(0,0,0,.22);\n            margin:0 2px;\n        }\n        .opk-osm-source-legend { display:inline-flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:2px 10px; }\n        .opk-osm-source-legend .opk-source-item {\n            display:inline-flex; align-items:center; margin:0; white-space:nowrap;\n        }\n        @media (max-width:700px) {\n            .opk-osm-legend { font-size:12px; }\n            .opk-osm-legend-separator { display:none; }\n        }\n        .opk-osm-source-dot {\n            width:12px; height:12px; border-radius:50%;\n            display:inline-block; margin-right:4px; border:1px solid rgba(0,0,0,.25);\n            box-sizing:border-box;\n        }\n        .opk-osm-pin { background:transparent; border:0; }\n        .opk-osm-grid-pin {\n            border-radius:50%;\n            display:flex; align-items:center; justify-content:center;\n            font-weight:600; font-size:12px; color:#fff;\n            background:#3388ff; border:2px solid #fff;\n            box-shadow:0 1px 4px rgba(0,0,0,.35);\n        }\n        .opk-osm-grid-pin-light { color:#222; }\n        .opk-osm-grid-pin span { line-height:1; }\n    <\/style>\n    <script>\n    (function() {\n        var mapId = \"opk-osm-map-4\";\n        var species = \"Pneumoderma violaceum\";\n        var ajaxUrl = \"https:\\\/\\\/opistobranquis.info\\\/wp-admin\\\/admin-ajax.php\";\n        var strings = {\"singular\":\"known georeferenced record of the species\",\"plural\":\"known georeferenced records of the species\",\"loading\":\"Loading records\\u2026\",\"error\":\"The records could not be loaded.\",\"aggregate\":\"area with %d records\",\"zoom\":\"Zoom in to see individual records.\"};\n        var markerColors = {\"mn\":\"#00bcd4\",\"obis\":\"#ffffff\",\"gbif\":\"#000000\",\"vimar\":\"#e53935\",\"mball\":\"#3388ff\",\"picton\":\"#e83e8c\",\"enric\":\"#4caf50\",\"altres\":\"#888888\",\"groc\":\"#f1c40f\",\"opk\":\"#7b1fa2\",\"jpsilva\":\"#ff8c00\",\"inat\":\"#8b4513\"};\n        var sourceNames = {\"mn\":\"M@re Nostrum\",\"obis\":\"OBIS\",\"gbif\":\"GBIF\",\"vimar\":\"VIMAR\",\"mball\":\"M. Ballesteros\",\"picton\":\"Picton\",\"enric\":\"Enric\",\"altres\":\"Altres\",\"groc\":\"Groc\",\"opk\":\"OPK\",\"jpsilva\":\"J. P. Silva\",\"inat\":\"iNaturalist\"};\n        var map = null;\n        var markers = null;\n        var gridLayers = null;\n        var requestSerial = 0;\n        var moveTimer = null;\n        var iconCache = {};\n\n        function escapeHtml(value) {\n            var div = document.createElement('div');\n            div.textContent = value == null ? '' : String(value);\n            return div.innerHTML;\n        }\n\n        function createPinIcon(color) {\n            return L.divIcon({\n                className: 'opk-osm-pin',\n                html:\n                    '<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"42\" viewBox=\"0 0 30 42\" aria-hidden=\"true\">' +\n                    '<path d=\"M15 1C7.27 1 1 7.27 1 15c0 10.5 14 26 14 26s14-15.5 14-26C29 7.27 22.73 1 15 1z\" fill=\"' + color + '\" stroke=\"rgba(0,0,0,0.25)\" stroke-width=\"1.5\"\/>' +\n                    '<circle cx=\"15\" cy=\"15\" r=\"6.2\" fill=\"#ffffff\" stroke=\"rgba(0,0,0,0.2)\" stroke-width=\"1\"\/>' +\n                    '<\/svg>',\n                iconSize:[30,42], iconAnchor:[15,41], popupAnchor:[0,-41]\n            });\n        }\n\n        function getIcon(style) {\n            style = (style || '').toLowerCase().trim();\n            if (!iconCache[style]) iconCache[style] = createPinIcon(markerColors[style] || '#3388ff');\n            return iconCache[style];\n        }\n\n        function createGridIcon(count, sources) {\n            var color = '#3388ff';\n            if (sources && sources.length === 1 && markerColors[sources[0]]) color = markerColors[sources[0]];\n            var light = (color === '#ffffff' || color === '#f1c40f');\n            return L.divIcon({\n                className:'opk-osm-pin',\n                html:'<div class=\"opk-osm-grid-pin' + (light ? ' opk-osm-grid-pin-light' : '') + '\" style=\"width:34px;height:34px;background:' + color + ';\"><span>' + escapeHtml(count) + '<\/span><\/div>',\n                iconSize:[34,34], iconAnchor:[17,17], popupAnchor:[0,-17]\n            });\n        }\n\n        function updateMainLegend(count) {\n            var block = document.getElementById(mapId).parentNode;\n            var legend = block.querySelector('.opk-osm-main-legend');\n            if (!legend) return;\n            var text = count === 1 ? strings.singular : strings.plural;\n            legend.innerHTML = '<strong>' + escapeHtml(count.toLocaleString()) + '<\/strong> ' +\n                               '<em>' + escapeHtml(text) + '<\/em>';\n        }\n\n        function updateSourceLegend(sources) {\n            var block = document.getElementById(mapId).parentNode;\n            var legend = block.querySelector('.opk-osm-source-legend');\n            var unique = {};\n            (sources || []).forEach(function(s) { if (s) unique[String(s).toLowerCase()] = true; });\n            var keys = Object.keys(sourceNames).filter(function(k){ return unique[k]; });\n            legend.innerHTML = keys.map(function(k) {\n                var color = markerColors[k] || '#3388ff';\n                return '<span class=\"opk-source-item\">' +\n                    '<span class=\"opk-osm-source-dot\" style=\"background:' + color + ';\"><\/span>' +\n                    escapeHtml(sourceNames[k]) + '<\/span>';\n            }).join('');\n        }\n\n        function setStatus(text) {\n            var block = document.getElementById(mapId).parentNode;\n            var status = block.querySelector('.opk-osm-status');\n            status.textContent = text || '';\n        }\n\n        function loadRecords() {\n            if (!map) return;\n\n            var serial = ++requestSerial;\n            var b = map.getBounds();\n            var payload = new URLSearchParams();\n            payload.append('action','opk_osm_records');\n            payload.append('especie',species);\n            payload.append('min_lat',b.getSouth());\n            payload.append('max_lat',b.getNorth());\n            payload.append('min_lng',b.getWest());\n            payload.append('max_lng',b.getEast());\n            payload.append('zoom',map.getZoom());\n\n            setStatus(strings.loading);\n\n            fetch(ajaxUrl, {\n                method:'POST',\n                headers:{'Content-Type':'application\/x-www-form-urlencoded; charset=UTF-8'},\n                body:payload.toString(),\n                credentials:'same-origin'\n            })\n            .then(function(r){ return r.json(); })\n            .then(function(json) {\n                if (serial !== requestSerial) return;\n                if (!json || !json.success) throw new Error('AJAX');\n                markers.clearLayers();\n                if (gridLayers) gridLayers.clearLayers();\n\n                var features = (json.data && json.data.features) || [];\n                var sourceSet = {};\n\n                features.forEach(function(feature) {\n                    var c = feature.geometry && feature.geometry.coordinates;\n                    if (!c || c.length < 2) return;\n                    var p = feature.properties || {};\n\n                    if (p.aggregated) {\n                        (p.sources || []).forEach(function(s){ sourceSet[String(s).toLowerCase()] = true; });\n                        var gridLayer = L.marker([c[1],c[0]], {icon:createGridIcon(p.count,p.sources)});\n                        gridLayer.bindPopup(\n                            '<strong>' + escapeHtml(sprintf(strings.aggregate, p.count)) + '<\/strong>' +\n                            '<br>' + escapeHtml(strings.zoom)\n                        );\n                        \/\/ Els agregats de quadr\u00edcula NO entren al MarkerCluster: el n\u00famero\n                        \/\/ que mostra el pin representa directament les observacions de la zona.\n                        gridLayers.addLayer(gridLayer);\n                    } else {\n                        if (p.mapstyle) sourceSet[p.mapstyle] = true;\n                        var layer = L.marker([c[1],c[0]], {icon:getIcon(p.mapstyle)});\n                        var html = '<strong>' + escapeHtml(species) + '<\/strong>';\n                        if (p.loc) html += '<br>\ud83d\udccd ' + escapeHtml(p.loc);\n                        if (p.fecha) html += '<br>\ud83d\udcc5 ' + escapeHtml(p.fecha);\n                        if (p.campanya) html += '<br>\ud83d\udcda ' + p.campanya;\n                        layer.bindPopup(html);\n                        markers.addLayer(layer);\n                    }\n                });\n\n                updateSourceLegend(Object.keys(sourceSet));\n                setStatus('');\n            })\n            .catch(function() {\n                if (serial !== requestSerial) return;\n                setStatus(strings.error);\n            });\n        }\n\n        function sprintf(template, n) {\n            return String(template).replace('%d', Number(n).toLocaleString());\n        }\n\n        function scheduleLoad() {\n            window.clearTimeout(moveTimer);\n            moveTimer = window.setTimeout(loadRecords, 180);\n        }\n\n        function loadMeta() {\n            var payload = new URLSearchParams();\n            payload.append('action','opk_osm_meta');\n            payload.append('especie',species);\n\n            fetch(ajaxUrl, {\n                method:'POST',\n                headers:{'Content-Type':'application\/x-www-form-urlencoded; charset=UTF-8'},\n                body:payload.toString(),\n                credentials:'same-origin'\n            })\n            .then(function(r){ return r.json(); })\n            .then(function(json) {\n                if (!json || !json.success) return;\n                updateMainLegend(Number(json.data.count || 0));\n                updateSourceLegend(json.data.sources || []);\n            })\n            .catch(function(){});\n        }\n\n        function init() {\n            map = L.map(mapId, {\n                preferCanvas:true,\n                worldCopyJump:true\n            }).setView([40,0],3);\n\n            L.tileLayer('https:\/\/{s}.tile.openstreetmap.org\/{z}\/{x}\/{y}.png', {\n                maxZoom:19,\n                attribution:'&copy; OpenStreetMap contributors'\n            }).addTo(map);\n\n            gridLayers = L.layerGroup();\n            map.addLayer(gridLayers);\n\n            markers = L.markerClusterGroup({\n                showCoverageOnHover:false,\n                zoomToBoundsOnClick:true,\n                spiderfyOnMaxZoom:true,\n                removeOutsideVisibleBounds:true,\n                chunkedLoading:true,\n                chunkInterval:100,\n                chunkDelay:20\n            });\n            map.addLayer(markers);\n\n            map.on('moveend', scheduleLoad);\n            loadMeta();\n            loadRecords();\n        }\n\n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', init);\n        } else {\n            init();\n        }\n    })();\n    <\/script>\n    <\/p>\n<p><strong>Error:<\/strong> Chart.js no est\u00e1 disponible.<\/p>\n<p><strong>More pictures<br \/>\n<\/strong><ul><span style=\"font-size:10pt\">We have no (more) pictures for <em>Pneumoderma violaceum<\/em><\/span><\/ul><\/p>\n<p><p><strong>Bibliography<\/strong><\/p><ul><div id=\"zotpress-187f9a02981d10a11dc71ff337f299b5\" class=\"zp-Zotpress zp-Zotpress-Bib wp-block-group\">\n\n\t\t<span class=\"ZP_API_USER_ID ZP_ATTR\">1246567<\/span>\n\t\t<span class=\"ZP_ITEM_KEY ZP_ATTR\"><\/span>\n\t\t<span class=\"ZP_COLLECTION_ID ZP_ATTR\"><\/span>\n\t\t<span class=\"ZP_TAG_ID ZP_ATTR\">Pneumoderma violaceum<\/span>\n\t\t<span class=\"ZP_AUTHOR ZP_ATTR\"><\/span>\n\t\t<span class=\"ZP_YEAR ZP_ATTR\"><\/span>\n        <span class=\"ZP_ITEMTYPE ZP_ATTR\"><\/span>\n\t\t<span class=\"ZP_INCLUSIVE ZP_ATTR\">1<\/span>\n\t\t<span class=\"ZP_STYLE ZP_ATTR\">eunomia-revista-en-cultura-de-la-legalidad<\/span>\n\t\t<span class=\"ZP_LIMIT ZP_ATTR\">50<\/span>\n\t\t<span class=\"ZP_SORTBY ZP_ATTR\">creator<\/span>\n\t\t<span class=\"ZP_ORDER ZP_ATTR\">asc<\/span>\n\t\t<span class=\"ZP_TITLE ZP_ATTR\"><\/span>\n\t\t<span class=\"ZP_SHOWIMAGE ZP_ATTR\"><\/span>\n\t\t<span class=\"ZP_SHOWTAGS ZP_ATTR\"><\/span>\n\t\t<span class=\"ZP_DOWNLOADABLE ZP_ATTR\"><\/span>\n\t\t<span class=\"ZP_NOTES ZP_ATTR\"><\/span>\n\t\t<span class=\"ZP_ABSTRACT ZP_ATTR\"><\/span>\n\t\t<span class=\"ZP_CITEABLE ZP_ATTR\"><\/span>\n\t\t<span class=\"ZP_TARGET ZP_ATTR\">1<\/span>\n\t\t<span class=\"ZP_URLWRAP ZP_ATTR\"><\/span>\n\t\t<span class=\"ZP_FORCENUM ZP_ATTR\"><\/span>\n        <span class=\"ZP_HIGHLIGHT ZP_ATTR\"><\/span>\n        <span class=\"ZP_POSTID ZP_ATTR\">7206<\/span>\n\t\t<span class=\"ZOTPRESS_PLUGIN_URL ZP_ATTR\">https:\/\/opistobranquis.info\/wp-content\/plugins\/zotpress\/<\/span>\n\n\t\t<div class=\"zp-List loading\">\n\t\t\t<div class=\"zp-SEO-Content\">\n\n\t\t\t<\/div><!-- .zp-zp-SEO-Content -->\n\t\t<\/div><!-- .zp-List -->\n\t<\/div><!--.zp-Zotpress-->\n\n<p><\/p>Bibliography based on the works by <b>Steve Long, 2006<\/b>. <a target=_blank href=https:\/\/opistobranquis.info\/wp-content\/uploads\/2016\/06\/Long-S.-2006-Bibliography-of-Opisthobranchia-1554-2000.pdf>Bibliography of Opisthobranchia 1554-2000<\/a> and <b>Gary McDonald, 2009<\/b>. <a href=http:\/\/escholarship.org\/uc\/item\/8115h0wz>Bibliographia Nudibranchia<\/a>, with later updates from other resources.<p><\/p><\/ul><p><\/p><p><strong>Further reading<\/strong><\/p><span style=\"font-size:10pt\"><ul><ul class=\"blogroll-links\"><li><a href=\"http:\/\/www.biodiversitylibrary.org\/name\/Pneumoderma%20violaceum\">Biodiversity Heritage Library<\/a><\/li><li><a href=\"https:\/\/www.flickr.com\/search\/?text=Pneumoderma%20violaceum\">Flickr pictures<\/a><\/li><li><a href=\"http:\/\/www.irmng.org\/aphia.php?p=taxlist&#038;tName=Pneumoderma%20violaceum\">Interim Register of Marine and Nonmarine Genera<\/a><\/li><li><a href=\"http:\/\/www.ncbi.nlm.nih.gov\/Taxonomy\/Browser\/wwwtax.cgi?mode=Undef&#038;name=Pneumoderma%20violaceum&#038;lvl=0&#038;srchmode=1\">NCBI GenBank<\/a><\/li><li><a href=\"http:\/\/iobis.org\/mapper\/?taxon=Pneumoderma%20violaceum\">OBIS - Search by Taxon<\/a><\/li><li><a href=\"http:\/\/www.marinespecies.org\/aphia.php?p=taxdetails&#038;id=140823\">World Register of Marine Species<\/a><\/li><\/ul><\/ul><\/span><p><strong>Cite this article as: <\/strong><\/p><div style=\"display: block; background: #444444; padding: 10px 30px 10px 10px; border-radius: 5px; line-height: 18px;\"><p class=\"citacio\"><b>Ballesteros, M., Madrenas, E. &#38; Pontes, M.<\/b> (2025) <em>\"Pneumoderma violaceum\"<\/em> in <em>OPK-Opistobranquis<\/em>. Published: 14\/03\/2013. Accessed: 28\/09\/2026. Available at (<a href=https:\/\/opistobranquis.info\/en\/?p=7206>https:\/\/opistobranquis.info\/en\/?p=7206<\/a>)<\/p><p><\/p><\/div><p><\/p><\/p>","protected":false},"excerpt":{"rendered":"<p>Pneumoderma violaceum d&#8217;Orbigny, 1834 Synonyms Cirrifer paradoxus Pfeffer, 1879 Pneumoderma atlanticum (Oken, 1815) Pneumoderma atlanticum pacificum Dall, 1871 Pneumoderma atlanticum var. bonnevii van der Spoel, 1972 Pneumoderma boasi Pelseneer, 1905 Pneumoderma eurycotylum Meisenheimer, 1905 Pneumoderma pacificum Dall, 1871 Pneumoderma peronii Cuvier, 1816 Pneumoderma pygmaeum Tesch, 1903 Pneumoderma souleyeti Pelseneer, 1887 Pneumoderma violaceum pacificum Dall, 1871 Pneumodermis atlanticus Oken, 1815 Description Biology Etymology Pneumoderma, from\u00a0Greek &#8220;pneumein&#8221;, breathe\u00a0+ &#8220;derma&#8221;, skin. Violaceum, from\u00a0Latin\u2026<\/p>\n<p class=\"continue-reading-button\"> <a class=\"continue-reading-link\" href=\"https:\/\/opistobranquis.info\/en\/guia\/pteropoda\/gymnosomata\/pneumoderma-violaceum\/\">Continue reading<i class=\"crycon-right-dir\"><\/i><\/a><\/p>\n","protected":false},"author":291,"featured_media":10376,"parent":5131,"menu_order":47,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-7206","page","type-page","status-publish","has-post-thumbnail","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/opistobranquis.info\/en\/wp-json\/wp\/v2\/pages\/7206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opistobranquis.info\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/opistobranquis.info\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/opistobranquis.info\/en\/wp-json\/wp\/v2\/users\/291"}],"replies":[{"embeddable":true,"href":"https:\/\/opistobranquis.info\/en\/wp-json\/wp\/v2\/comments?post=7206"}],"version-history":[{"count":1,"href":"https:\/\/opistobranquis.info\/en\/wp-json\/wp\/v2\/pages\/7206\/revisions"}],"predecessor-version":[{"id":26215,"href":"https:\/\/opistobranquis.info\/en\/wp-json\/wp\/v2\/pages\/7206\/revisions\/26215"}],"up":[{"embeddable":true,"href":"https:\/\/opistobranquis.info\/en\/wp-json\/wp\/v2\/pages\/5131"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opistobranquis.info\/en\/wp-json\/wp\/v2\/media\/10376"}],"wp:attachment":[{"href":"https:\/\/opistobranquis.info\/en\/wp-json\/wp\/v2\/media?parent=7206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}