Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/pom.xml
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/pom.xml	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/pom.xml	(revision 727)
@@ -0,0 +1,64 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.gvsig</groupId>
+	<artifactId>org.gvsig.netcdf3d</artifactId>
+	<version>1.0.0-SNAPSHOT</version>
+	<packaging>pom</packaging>
+	<name>org.gvsig.netcdf3d</name>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.desktop</artifactId>
+		<version>2.0.153-SNAPSHOT</version>
+	</parent>
+
+	<modules>
+		<module>org.gvsig.netcdf3d.app</module>
+		<module>org.gvsig.netcdf3d.swing</module>
+		<module>org.gvsig.netcdf3d.lib</module>
+	</modules>
+
+	<properties>
+		<org.gvsig.view3d.version>1.0.21-SNAPSHOT</org.gvsig.view3d.version>
+		<org.gvsig.raster.version>2.4.1-SNAPSHOT</org.gvsig.raster.version>
+	</properties>
+
+	<dependencyManagement>
+		<dependencies>
+			<dependency>
+				<groupId>org.gvsig</groupId>
+				<artifactId>org.gvsig.view3d</artifactId>
+				<scope>import</scope>
+				<type>pom</type>
+				<version>${org.gvsig.view3d.version}</version>
+			</dependency>
+			<dependency>
+				<groupId>org.gvsig</groupId>
+				<artifactId>org.gvsig.raster</artifactId>
+				<scope>import</scope>
+				<type>pom</type>
+				<version>${org.gvsig.raster.version}</version>
+			</dependency>
+			<dependency>
+				<groupId>org.gvsig</groupId>
+				<artifactId>org.gvsig.netcdf3d.lib.api</artifactId>
+				<version>1.0.0-SNAPSHOT</version>
+			</dependency>
+			<dependency>
+				<groupId>org.gvsig</groupId>
+				<artifactId>org.gvsig.netcdf3d.lib.impl</artifactId>
+				<version>1.0.0-SNAPSHOT</version>
+			</dependency>
+			<dependency>
+				<groupId>org.gvsig</groupId>
+				<artifactId>org.gvsig.netcdf3d.swing.api</artifactId>
+				<version>1.0.0-SNAPSHOT</version>
+			</dependency>
+			<dependency>
+				<groupId>org.gvsig</groupId>
+				<artifactId>org.gvsig.netcdf3d.swing.impl</artifactId>
+				<version>1.0.0-SNAPSHOT</version>
+			</dependency>
+		</dependencies>
+	</dependencyManagement>
+</project>
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.app/org.gvsig.netcdf3d.app.mainplugin/src/main/resources-plugin/config.xml
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.app/org.gvsig.netcdf3d.app.mainplugin/src/main/resources-plugin/config.xml	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.app/org.gvsig.netcdf3d.app.mainplugin/src/main/resources-plugin/config.xml	(revision 727)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- gvSIG. Desktop Geographic Information System. Copyright (C) 2007-2013 
+	gvSIG Association. This program is free software; you can redistribute it 
+	and/or modify it under the terms of the GNU General Public License as published 
+	by the Free Software Foundation; either version 3 of the License, or (at 
+	your option) any later version. This program is distributed in the hope that 
+	it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty 
+	of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 
+	Public License for more details. You should have received a copy of the GNU 
+	General Public License along with this program; if not, write to the Free 
+	Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 
+	USA. For any additional information, do not hesitate to contact us at info 
+	AT gvsig.com, or visit our website www.gvsig.com. -->
+<plugin-config>
+	<depends plugin-name="org.gvsig.app.mainplugin" />
+	<depends plugin-name="org.gvsig.view3d.app" />
+	<resourceBundle name="text" />
+	<libraries library-dir="lib" />
+	<extensions>
+
+		<extension class-name="org.gvsig.netcdf3d.app.mainplugin.NetCDFExtension"
+			description="" active="true" priority="1">
+
+		</extension>
+
+	</extensions>
+</plugin-config>
\ No newline at end of file
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.app/org.gvsig.netcdf3d.app.mainplugin/src/main/resources-plugin/i18n/text.properties
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.app/org.gvsig.netcdf3d.app.mainplugin/src/main/resources-plugin/i18n/text.properties	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.app/org.gvsig.netcdf3d.app.mainplugin/src/main/resources-plugin/i18n/text.properties	(revision 727)
@@ -0,0 +1,7 @@
+variable = Variable
+level = Nivel
+initial_time = Tiempo inicial
+final_time = Tiempo final
+lapse_XxparenthesisxX_s_XxparenthesisxX = Periodo (s)
+value_lapse_has_to_be_numeric = El valor del campo Periodo debe de ser numérico
+final_date_can_not_be_previous_initial_date = La fecha final no puede ser anterior a la fecha inicial
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.app/org.gvsig.netcdf3d.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.app/org.gvsig.netcdf3d.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.app/org.gvsig.netcdf3d.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties	(revision 727)
@@ -0,0 +1,5 @@
+variable = Variable
+level = Level
+initial_time = Initial time
+final_time = Final time
+lapse_XxparenthesisxX_s_XxparenthesisxX = Lapse (s)
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.app/org.gvsig.netcdf3d.app.mainplugin/src/main/assembly/gvsig-plugin-package.xml
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.app/org.gvsig.netcdf3d.app.mainplugin/src/main/assembly/gvsig-plugin-package.xml	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.app/org.gvsig.netcdf3d.app.mainplugin/src/main/assembly/gvsig-plugin-package.xml	(revision 727)
@@ -0,0 +1,53 @@
+<!-- gvSIG. Desktop Geographic Information System. Copyright (C) 2007-2013 
+	gvSIG Association. This program is free software; you can redistribute it 
+	and/or modify it under the terms of the GNU General Public License as published 
+	by the Free Software Foundation; either version 3 of the License, or (at 
+	your option) any later version. This program is distributed in the hope that 
+	it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty 
+	of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 
+	Public License for more details. You should have received a copy of the GNU 
+	General Public License along with this program; if not, write to the Free 
+	Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 
+	USA. For any additional information, do not hesitate to contact us at info 
+	AT gvsig.com, or visit our website www.gvsig.com. -->
+<assembly>
+	<id>gvsig-plugin-package</id>
+	<formats>
+		<format>zip</format>
+	</formats>
+	<baseDirectory>${project.artifactId}</baseDirectory>
+	<includeBaseDirectory>true</includeBaseDirectory>
+	<files>
+		<file>
+			<source>target/${project.artifactId}-${project.version}.jar</source>
+			<outputDirectory>lib</outputDirectory>
+		</file>
+		<file>
+			<source>target/package.info</source>
+		</file>
+	</files>
+
+	<fileSets>
+		<fileSet>
+			<directory>src/main/resources-plugin</directory>
+			<outputDirectory>.</outputDirectory>
+		</fileSet>
+	</fileSets>
+
+
+	<dependencySets>
+		<dependencySet>
+			<useProjectArtifact>false</useProjectArtifact>
+			<useTransitiveDependencies>false</useTransitiveDependencies>
+			<outputDirectory>lib</outputDirectory>
+			<includes>
+			    <include>org.gvsig:org.gvsig.netcdf3d.lib.api</include>
+                <include>org.gvsig:org.gvsig.netcdf3d.lib.impl</include>
+				<include>org.gvsig:org.gvsig.netcdf3d.swing.api</include>
+				<include>org.gvsig:org.gvsig.netcdf3d.swing.impl</include>
+			</includes>
+		</dependencySet>
+	</dependencySets>
+
+</assembly>
+
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.app/org.gvsig.netcdf3d.app.mainplugin/src/main/java/org/gvsig/netcdf3d/app/mainplugin/NetCDFExtension.java
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.app/org.gvsig.netcdf3d.app.mainplugin/src/main/java/org/gvsig/netcdf3d/app/mainplugin/NetCDFExtension.java	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.app/org.gvsig.netcdf3d.app.mainplugin/src/main/java/org/gvsig/netcdf3d/app/mainplugin/NetCDFExtension.java	(revision 727)
@@ -0,0 +1,53 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2016 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.netcdf3d.app.mainplugin;
+
+import org.gvsig.andami.plugins.Extension;
+
+/**
+ * Extension of NetCDF plugin
+ * 
+ * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
+ *
+ */
+public class NetCDFExtension extends Extension{
+
+    @Override
+    public void initialize() {
+    }
+
+    @Override
+    public void execute(String actionCommand) {
+    }
+
+    @Override
+    public boolean isEnabled() {
+        return false;
+    }
+
+    @Override
+    public boolean isVisible() {
+        return false;
+    }
+
+}
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.app/org.gvsig.netcdf3d.app.mainplugin/pom.xml
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.app/org.gvsig.netcdf3d.app.mainplugin/pom.xml	(revision 726)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.app/org.gvsig.netcdf3d.app.mainplugin/pom.xml	(revision 727)
@@ -1,10 +1,30 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.gvsig</groupId>
-    <artifactId>org.gvsig.netcdf3d.app</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-  </parent>
-  <artifactId>org.gvsig.netcdf3d.app.mainplugin</artifactId>
-  <name>org.gvsig.netcdf3d.app.mainplugin</name>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.netcdf3d.app</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.gvsig.netcdf3d.app.mainplugin</artifactId>
+	<name>org.gvsig.netcdf3d.app.mainplugin</name>
+	
+	<dependencies>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.netcdf3d.lib.api</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.netcdf3d.lib.impl</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.netcdf3d.swing.api</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.netcdf3d.swing.impl</artifactId>
+		</dependency>
+	</dependencies>
 </project>
\ No newline at end of file
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.app/org.gvsig.netcdf3d.app.mainplugin/buildNumber.properties
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.app/org.gvsig.netcdf3d.app.mainplugin/buildNumber.properties	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.app/org.gvsig.netcdf3d.app.mainplugin/buildNumber.properties	(revision 727)
@@ -0,0 +1,2 @@
+#Mon Jul 25 23:09:07 CEST 2016
+buildNumber=1
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/pom.xml
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/pom.xml	(revision 726)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/pom.xml	(revision 727)
@@ -1,10 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.gvsig</groupId>
-    <artifactId>org.gvsig.netcdf3d.lib</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-  </parent>
-  <artifactId>org.gvsig.netcdf3d.lib.impl</artifactId>
-  <name>org.gvsig.netcdf3d.lib.impl</name>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.netcdf3d.lib</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.gvsig.netcdf3d.lib.impl</artifactId>
+	<name>org.gvsig.netcdf3d.lib.impl</name>
+	
+	<dependencies>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.netcdf3d.lib.api</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.fmap.dal.raster.api</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.fmap.mapcontext.raster.api</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.raster.lib.legend.api</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>gov.nasa</groupId>
+			<artifactId>worldwind</artifactId>
+		</dependency>
+	</dependencies>
 </project>
\ No newline at end of file
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/src/main/java/org/gvsig/netcdf3d/lib/impl/DefaultNetCDFLoaderFactory.java
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/src/main/java/org/gvsig/netcdf3d/lib/impl/DefaultNetCDFLoaderFactory.java	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/src/main/java/org/gvsig/netcdf3d/lib/impl/DefaultNetCDFLoaderFactory.java	(revision 727)
@@ -0,0 +1,54 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2016 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.netcdf3d.lib.impl;
+
+import org.gvsig.fmap.mapcontext.layers.FLayer;
+import org.gvsig.netcdf3d.lib.api.NetCDFLoaderParameters;
+import org.gvsig.view3d.lib.api.loader.Loader;
+import org.gvsig.view3d.lib.api.loader.LoaderFactory;
+import org.gvsig.view3d.lib.api.loader.LoaderParameters;
+
+/**
+ * NetCDF loader factory to create NetCDF loaders and NetCDF loader parameters.
+ * 
+ * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
+ *
+ */
+public class DefaultNetCDFLoaderFactory implements LoaderFactory {
+
+    @Override
+    public String getName() {
+        return NetCDFLoaderParameters.NAME;
+    }
+
+    @Override
+    public LoaderParameters createParameters(FLayer layer) {
+        return new DefaultNetCDFLoaderParameters(layer);
+    }
+
+    @Override
+    public Loader createLoader() {
+        return new DefaultNetCDFLoader();
+    }
+
+}
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/src/main/java/org/gvsig/netcdf3d/lib/impl/DefaultNetCDFTiledImageLayer.java
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/src/main/java/org/gvsig/netcdf3d/lib/impl/DefaultNetCDFTiledImageLayer.java	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/src/main/java/org/gvsig/netcdf3d/lib/impl/DefaultNetCDFTiledImageLayer.java	(revision 727)
@@ -0,0 +1,257 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2016 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+
+package org.gvsig.netcdf3d.lib.impl;
+
+import gov.nasa.worldwind.WWObjectImpl;
+import gov.nasa.worldwind.avlist.AVKey;
+import gov.nasa.worldwind.layers.Layer;
+import gov.nasa.worldwind.layers.TiledImageLayer;
+import gov.nasa.worldwind.render.DrawContext;
+
+import java.awt.Point;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.beans.PropertyChangeEvent;
+
+import javax.swing.Timer;
+
+import org.gvsig.fmap.dal.raster.api.RasterQuery;
+import org.gvsig.fmap.mapcontext.raster.api.RasterLayer;
+import org.gvsig.netcdf3d.lib.api.NetCDFLoaderParameters;
+import org.gvsig.view3d.lib.api.View3DLocator;
+import org.gvsig.view3d.lib.api.View3DManager;
+import org.gvsig.view3d.lib.api.exception.FactoryNotRegisteredException;
+import org.gvsig.view3d.lib.api.exception.LoadException;
+import org.gvsig.view3d.lib.api.loader.Loader;
+import org.gvsig.view3d.lib.api.loader.LoaderFactory;
+import org.gvsig.view3d.lib.api.loader.RasterLoaderParameters;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
+ *
+ */
+public class DefaultNetCDFTiledImageLayer extends WWObjectImpl implements Layer {
+
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultNetCDFTiledImageLayer.class);
+
+    private NetCDFLoaderParameters parameters;
+    private TiledImageLayer rasterLayer;
+    private Timer timer;
+
+    /**
+     *
+     * @param parameters
+     */
+    public DefaultNetCDFTiledImageLayer(NetCDFLoaderParameters parameters) {
+        this.parameters = parameters;
+
+        // Create Raster tiled image layer
+        try {
+            this.createRaserTiledImageLayer();
+        } catch (FactoryNotRegisteredException | LoadException e) {
+            LOG.error("Can not create raster tiled image layer", e);
+            return;
+        }
+
+        this.timer = new Timer((int)(this.parameters.getLapse() * 1000),  new DefaultNetCDFTimerTask(this, parameters));
+        this.timer.start();
+    }
+
+    private void createRaserTiledImageLayer()
+        throws FactoryNotRegisteredException, LoadException {
+        View3DManager manager = View3DLocator.getManager();
+        LoaderFactory loaderFactory = null;
+        loaderFactory = manager.getLoaderFactory(RasterLoaderParameters.NAME);
+        Loader rasterLoader = loaderFactory.createLoader();
+        this.rasterLayer = (TiledImageLayer) rasterLoader.load(parameters);
+        // this.rasterLayer.setForceLevelZeroLoads(true);
+    }
+
+    /**
+     * @param rasterQuery
+     *
+     */
+    public void setBaseQuery(RasterQuery rasterQuery) {
+        RasterLayer rasterLayer =
+            (RasterLayer) this.rasterLayer.getValue(View3DManager.GVSIG_LAYER);
+        rasterLayer.setBaseQuery(rasterQuery);
+
+        long timeMillis = System.currentTimeMillis();
+        this.setExpiryTime(timeMillis);
+        this.rasterLayer.setExpiryTime(timeMillis);
+        this.propertyChange(new PropertyChangeEvent(this, AVKey.LAYER, null, this));
+    }
+
+    @Override
+    public void dispose() {
+        this.parameters = null;
+        this.timer.stop();
+        this.timer = null;
+        this.rasterLayer.dispose();
+    }
+
+    @Override
+    public String getRestorableState() {
+        return this.rasterLayer.getRestorableState();
+    }
+
+    @Override
+    public void restoreState(String stateInXml) {
+        this.rasterLayer.restoreState(stateInXml);
+    }
+
+    @Override
+    public boolean isEnabled() {
+        return this.rasterLayer.isEnabled();
+    }
+
+    @Override
+    public void setEnabled(boolean enabled) {
+        this.rasterLayer.setEnabled(enabled);
+    }
+
+    @Override
+    public String getName() {
+        return this.rasterLayer.getName();
+    }
+
+    @Override
+    public void setName(String name) {
+        this.rasterLayer.setName(name);
+    }
+
+    @Override
+    public double getOpacity() {
+        return this.rasterLayer.getOpacity();
+    }
+
+    @Override
+    public void setOpacity(double opacity) {
+        this.rasterLayer.setOpacity(opacity);
+    }
+
+    @Override
+    public boolean isPickEnabled() {
+        return this.rasterLayer.isPickEnabled();
+    }
+
+    @Override
+    public void setPickEnabled(boolean isPickable) {
+        this.rasterLayer.setPickEnabled(isPickable);
+    }
+
+    @Override
+    public void preRender(DrawContext dc) {
+        this.rasterLayer.preRender(dc);
+    }
+
+    @Override
+    public void render(DrawContext dc) {
+        this.rasterLayer.render(dc);
+    }
+
+    @Override
+    public void pick(DrawContext dc, Point pickPoint) {
+        this.rasterLayer.pick(dc, pickPoint);
+    }
+
+    @Override
+    public boolean isAtMaxResolution() {
+        return this.rasterLayer.isAtMaxResolution();
+    }
+
+    @Override
+    public boolean isMultiResolution() {
+        return this.rasterLayer.isMultiResolution();
+    }
+
+    @Override
+    public double getScale() {
+        return this.rasterLayer.getScale();
+    }
+
+    @Override
+    public boolean isNetworkRetrievalEnabled() {
+        return this.rasterLayer.isNetworkRetrievalEnabled();
+    }
+
+    @Override
+    public void setNetworkRetrievalEnabled(boolean networkRetrievalEnabled) {
+        this.rasterLayer.setNetworkRetrievalEnabled(networkRetrievalEnabled);
+    }
+
+    @Override
+    public void setExpiryTime(long expiryTime) {
+        this.rasterLayer.setExpiryTime(expiryTime);
+    }
+
+    @Override
+    public long getExpiryTime() {
+        return this.rasterLayer.getExpiryTime();
+    }
+
+    @Override
+    public double getMinActiveAltitude() {
+        return this.rasterLayer.getMinActiveAltitude();
+    }
+
+    @Override
+    public void setMinActiveAltitude(double minActiveAltitude) {
+        this.rasterLayer.setMinActiveAltitude(minActiveAltitude);
+    }
+
+    @Override
+    public double getMaxActiveAltitude() {
+        return this.rasterLayer.getMaxActiveAltitude();
+    }
+
+    @Override
+    public void setMaxActiveAltitude(double maxActiveAltitude) {
+        this.rasterLayer.setMaxActiveAltitude(maxActiveAltitude);
+    }
+
+    @Override
+    public boolean isLayerInView(DrawContext dc) {
+        return this.rasterLayer.isLayerInView(dc);
+    }
+
+    @Override
+    public boolean isLayerActive(DrawContext dc) {
+        return this.rasterLayer.isLayerActive(dc);
+    }
+
+    @Override
+    public Double getMaxEffectiveAltitude(Double radius) {
+        return this.rasterLayer.getMaxEffectiveAltitude(radius);
+    }
+
+    @Override
+    public Double getMinEffectiveAltitude(Double radius) {
+        return this.rasterLayer.getMaxEffectiveAltitude(radius);
+    }
+
+}
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/src/main/java/org/gvsig/netcdf3d/lib/impl/DefaultNetCDFTimerTask.java
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/src/main/java/org/gvsig/netcdf3d/lib/impl/DefaultNetCDFTimerTask.java	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/src/main/java/org/gvsig/netcdf3d/lib/impl/DefaultNetCDFTimerTask.java	(revision 727)
@@ -0,0 +1,105 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2016 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+
+package org.gvsig.netcdf3d.lib.impl;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.Calendar;
+import java.util.List;
+import java.util.TimerTask;
+
+import org.gvsig.fmap.dal.raster.api.BandAttributeDescriptor;
+import org.gvsig.fmap.dal.raster.api.BandDescriptor;
+import org.gvsig.fmap.dal.raster.api.BandQuery;
+import org.gvsig.fmap.dal.raster.api.RasterQuery;
+import org.gvsig.fmap.dal.raster.api.RasterStore;
+import org.gvsig.fmap.mapcontext.raster.api.RasterLayer;
+import org.gvsig.netcdf3d.lib.api.NetCDFLoaderParameters;
+
+/**
+ * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
+ *
+ */
+public class DefaultNetCDFTimerTask implements ActionListener {
+
+    private NetCDFLoaderParameters parameters;
+    private DefaultNetCDFTiledImageLayer netCDFTiledImageLayer;
+    private Calendar time;
+
+    /**
+     *
+     * @param netCDFTiledImageLayer
+     * @param defaultNetCDFTiledImageLayer
+     * @param parameters
+     */
+    public DefaultNetCDFTimerTask(DefaultNetCDFTiledImageLayer netCDFTiledImageLayer,
+        NetCDFLoaderParameters parameters) {
+
+        this.parameters = parameters;
+        this.netCDFTiledImageLayer = netCDFTiledImageLayer;
+
+        if (parameters.getStartDate() == null || parameters.getFinalDate() == null) {
+            throw new IllegalArgumentException("Start date or final date can not be null");
+        }
+    }
+
+    @Override
+    public void actionPerformed(ActionEvent e) {
+
+        RasterLayer layer = (RasterLayer) parameters.getLayer();
+        RasterStore rasterStore = layer.getRasterStore();
+
+        if (this.time == null) {
+            this.time = parameters.getStartDate();
+        } else {
+            BandDescriptor bandDescriptor =
+                layer.getRasterStore().getBandDescriptor(parameters.getBand());
+            BandAttributeDescriptor bandAttributeDescriptor = bandDescriptor.get("time");
+
+            if (bandAttributeDescriptor == null) {
+                throw new IllegalArgumentException(String.format(
+                    "Band descriptor of %1s band does not have \"time\" band attribute descriptor",
+                    parameters.getVariable()));
+            }
+
+            List<Object> values = bandAttributeDescriptor.getValues();
+            int index = values.indexOf(this.time);
+            if (index == values.size() - 1) {
+                this.time = parameters.getStartDate();
+            } else {
+                this.time = (Calendar) values.get(index + 1);
+            }
+        }
+
+        int band = parameters.getBand();
+        BandQuery bandQuery = rasterStore.createBandQuery(band);
+        bandQuery.setValue("level", parameters.getLevel());
+        bandQuery.setValue("time", time);
+
+        RasterQuery rasterQuery = rasterStore.createRasterQuery();
+        rasterQuery.addBand(bandQuery);
+        netCDFTiledImageLayer.setBaseQuery(rasterQuery);
+    }
+
+}
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/src/main/java/org/gvsig/netcdf3d/lib/impl/DefaultNetCDFLibrary.java
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/src/main/java/org/gvsig/netcdf3d/lib/impl/DefaultNetCDFLibrary.java	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/src/main/java/org/gvsig/netcdf3d/lib/impl/DefaultNetCDFLibrary.java	(revision 727)
@@ -0,0 +1,63 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2016 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.netcdf3d.lib.impl;
+
+import org.gvsig.netcdf3d.lib.api.NetCDFLibrary;
+import org.gvsig.netcdf3d.lib.api.NetCDFLoaderParameters;
+import org.gvsig.tools.library.AbstractLibrary;
+import org.gvsig.tools.library.LibraryException;
+import org.gvsig.view3d.lib.api.View3DLibrary;
+import org.gvsig.view3d.lib.api.View3DLocator;
+import org.gvsig.view3d.lib.api.View3DManager;
+
+/**
+ * 
+ * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
+ *
+ */
+public class DefaultNetCDFLibrary extends AbstractLibrary {
+
+    @Override
+    public void doRegistration() {
+        registerAsImplementationOf(NetCDFLibrary.class);
+        require(View3DLibrary.class);
+    }
+
+    @Override
+    protected void doInitialize() throws LibraryException {
+
+        // Register persistence definition
+        DefaultNetCDFLoaderParameters.registerPersistenceDefinition();
+
+        // Register NetCDF loader factory
+        View3DManager manager = View3DLocator.getManager();
+        manager
+            .registerLoaderFactory(NetCDFLoaderParameters.NAME, new DefaultNetCDFLoaderFactory());
+
+    }
+
+    @Override
+    protected void doPostInitialize() throws LibraryException {
+    }
+
+}
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/src/main/java/org/gvsig/netcdf3d/lib/impl/DefaultNetCDFLoader.java
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/src/main/java/org/gvsig/netcdf3d/lib/impl/DefaultNetCDFLoader.java	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/src/main/java/org/gvsig/netcdf3d/lib/impl/DefaultNetCDFLoader.java	(revision 727)
@@ -0,0 +1,49 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2016 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.netcdf3d.lib.impl;
+
+import org.gvsig.netcdf3d.lib.api.NetCDFLoaderParameters;
+import org.gvsig.view3d.lib.api.exception.LoadException;
+import org.gvsig.view3d.lib.api.loader.Loader;
+import org.gvsig.view3d.lib.api.loader.LoaderParameters;
+
+/**
+ * 
+ * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
+ *
+ */
+public class DefaultNetCDFLoader implements Loader {
+
+    @Override
+    public Object load(LoaderParameters parameters) throws LoadException {
+
+        if (parameters instanceof NetCDFLoaderParameters) {
+            NetCDFLoaderParameters netCDFParameters = (NetCDFLoaderParameters) parameters;
+            return new DefaultNetCDFTiledImageLayer(netCDFParameters);
+        }
+
+        throw new IllegalArgumentException(
+            "Illegal parameters, it must be an instance of NetCDFLoaderParameters");
+    }
+
+}
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/src/main/java/org/gvsig/netcdf3d/lib/impl/DefaultNetCDFLoaderParameters.java
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/src/main/java/org/gvsig/netcdf3d/lib/impl/DefaultNetCDFLoaderParameters.java	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/src/main/java/org/gvsig/netcdf3d/lib/impl/DefaultNetCDFLoaderParameters.java	(revision 727)
@@ -0,0 +1,257 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2016 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.netcdf3d.lib.impl;
+
+import java.util.Calendar;
+
+import org.gvsig.fmap.mapcontext.layers.FLayer;
+import org.gvsig.netcdf3d.lib.api.NetCDFLoaderParameters;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.dynobject.DynStruct;
+import org.gvsig.tools.persistence.PersistenceManager;
+import org.gvsig.tools.persistence.PersistentState;
+import org.gvsig.tools.persistence.exception.PersistenceException;
+import org.gvsig.view3d.lib.api.View3DLocator;
+import org.gvsig.view3d.lib.api.exception.FactoryNotRegisteredException;
+import org.gvsig.view3d.lib.api.loader.AbstractLoaderParameters;
+import org.gvsig.view3d.lib.api.loader.LoaderFactory;
+import org.gvsig.view3d.lib.api.loader.RasterLoaderParameters;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Default implementation of {@link NetCDFLoaderParameters}
+ * 
+ * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
+ *
+ */
+public class DefaultNetCDFLoaderParameters extends AbstractLoaderParameters implements
+    NetCDFLoaderParameters {
+
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultNetCDFLoaderParameters.class);
+
+    public static final String PERSISTENCE_DEFINITION_NAME = "NetCDFLoaderParameters";
+    public static final String PERSISTENCE_DEFINITION_DESCRIPTION =
+        "Parameters that defines NetCDF raster load mode";
+
+    public static final String RASTER_LOADER_PARAMETERS_FIELD_NAME = "rasterLoaderParameters";
+    public static final String VARIABLE_FIELD_NAME = "variable";
+    public static final String BAND_FIELD_NAME = "band";
+    public static final String LEVEL_FIELD_NAME = "level";
+    public static final String LAPSE_FIELD_NAME = "lapse";
+    public static final String START_DATE_FIELD_NAME = "startDate";
+    public static final String FINAL_DATE_FIELD_NAME = "finalDate";
+
+    private RasterLoaderParameters rasterParameters;
+    private String variable;
+    private int band;
+    private double level = -1;
+    private double lapse = 1;
+    private Calendar startDate;
+    private Calendar finalDate;
+
+    /**
+     * Default constructor
+     */
+    public DefaultNetCDFLoaderParameters() {
+
+    }
+
+    /**
+     * 
+     * @param layer
+     */
+    public DefaultNetCDFLoaderParameters(FLayer layer) {
+        super(layer);
+        try {
+            LoaderFactory loaderFactory =
+                View3DLocator.getManager().getLoaderFactory(RasterLoaderParameters.NAME);
+            rasterParameters = (RasterLoaderParameters) loaderFactory.createParameters(layer);
+        } catch (FactoryNotRegisteredException e) {
+            LOG.error("Can not get RasterLoader parameters", e);
+            throw new IllegalStateException(String.format(
+                "To create NetCDF loader parameters, it is necessary that %1s is registered",
+                RasterLoaderParameters.NAME));
+        }
+    }
+
+    @Override
+    public double getLevelZeroResolution() {
+        return this.rasterParameters.getLevelZeroResolution();
+    }
+
+    @Override
+    public void setLevelZeroResolution(double value) {
+        this.rasterParameters.setLevelZeroResolution(value);
+    }
+
+    @Override
+    public int getMaxLevel() {
+        return this.rasterParameters.getMaxLevel();
+    }
+
+    @Override
+    public void setMaxLevel(int level) {
+        this.rasterParameters.setMaxLevel(level);
+    }
+
+    @Override
+    public int getMinLevel() {
+        return this.rasterParameters.getMinLevel();
+    }
+
+    @Override
+    public void setMinLevel(int level) {
+        this.rasterParameters.setMinLevel(level);
+    }
+
+    @Override
+    public int getTileSize() {
+        return this.rasterParameters.getTileSize();
+    }
+
+    @Override
+    public void setTileSize(int size) {
+        this.rasterParameters.setTileSize(size);
+    }
+
+    @Override
+    public double getNoData() {
+        return this.rasterParameters.getNoData();
+    }
+
+    @Override
+    public void setNoData(double noData) {
+        this.rasterParameters.setNoData(noData);
+    }
+
+    @Override
+    public String getName() {
+        return NetCDFLoaderParameters.NAME;
+    }
+
+    @Override
+    public String getVariable() {
+        return this.variable;
+    }
+
+    @Override
+    public void setVariable(String variable) {
+        this.variable = variable;
+    }
+
+    @Override
+    public double getLevel() {
+        return this.level;
+    }
+
+    @Override
+    public void setLevel(double level) {
+        this.level = level;
+    }
+
+    @Override
+    public Calendar getStartDate() {
+        return this.startDate;
+    }
+
+    @Override
+    public void setStartDate(Calendar startDate) {
+        this.startDate = startDate;
+
+    }
+
+    @Override
+    public Calendar getFinalDate() {
+        return this.finalDate;
+    }
+
+    @Override
+    public void setFinalDate(Calendar finalDate) {
+        this.finalDate = finalDate;
+    }
+
+    @Override
+    public double getLapse() {
+        return this.lapse;
+    }
+
+    @Override
+    public void setLapse(double lapse) {
+        this.lapse = lapse;
+    }
+    
+    @Override
+    public int getBand() {
+        return this.band;
+    }
+
+    @Override
+    public void setBand(int band) {
+        this.band = band;
+    }
+    
+    public static void registerPersistenceDefinition() {
+
+        PersistenceManager persistenceManager = ToolsLocator.getPersistenceManager();
+        DynStruct definition = persistenceManager.getDefinition(PERSISTENCE_DEFINITION_NAME);
+        if (definition == null) {
+
+            definition =
+                persistenceManager.addDefinition(DefaultNetCDFLoaderParameters.class,
+                    PERSISTENCE_DEFINITION_NAME, PERSISTENCE_DEFINITION_DESCRIPTION, null, null);
+
+            definition.addDynFieldObject(RASTER_LOADER_PARAMETERS_FIELD_NAME).setClassOfValue(
+                RasterLoaderParameters.class);
+            definition.addDynFieldString(VARIABLE_FIELD_NAME);
+            definition.addDynFieldInt(BAND_FIELD_NAME);
+            definition.addDynFieldString(LEVEL_FIELD_NAME);
+            definition.addDynFieldDouble(LAPSE_FIELD_NAME);
+            definition.addDynFieldObject(START_DATE_FIELD_NAME).setClassOfValue(Calendar.class);
+            definition.addDynFieldObject(FINAL_DATE_FIELD_NAME).setClassOfValue(Calendar.class);;
+        }
+    }
+
+    @Override
+    protected void doSaveToState(PersistentState state) throws PersistenceException {
+        state.set(RASTER_LOADER_PARAMETERS_FIELD_NAME, this.rasterParameters);
+        state.set(VARIABLE_FIELD_NAME, this.variable);
+        state.set(BAND_FIELD_NAME, this.band);
+        state.set(LEVEL_FIELD_NAME, this.level);
+        state.set(LAPSE_FIELD_NAME, this.lapse);
+        state.set(START_DATE_FIELD_NAME, this.startDate);
+        state.set(FINAL_DATE_FIELD_NAME, this.finalDate);
+    }
+
+    @Override
+    protected void doLoadFromState(PersistentState state) throws PersistenceException {
+        this.rasterParameters =
+            (RasterLoaderParameters) state.get(RASTER_LOADER_PARAMETERS_FIELD_NAME);
+        this.variable = state.getString(VARIABLE_FIELD_NAME);
+        this.band = state.getInt(BAND_FIELD_NAME);
+        this.level = state.getDouble(LEVEL_FIELD_NAME);
+        this.lapse = state.getDouble(LAPSE_FIELD_NAME);
+        this.startDate = (Calendar) state.get(START_DATE_FIELD_NAME);
+        this.finalDate = (Calendar) state.get(FINAL_DATE_FIELD_NAME);
+    }
+}
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 727)
@@ -0,0 +1 @@
+org.gvsig.netcdf3d.lib.impl.DefaultNetCDFLibrary
\ No newline at end of file
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.api/pom.xml
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.api/pom.xml	(revision 726)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.api/pom.xml	(revision 727)
@@ -1,10 +1,18 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.gvsig</groupId>
-    <artifactId>org.gvsig.netcdf3d.lib</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-  </parent>
-  <artifactId>org.gvsig.netcdf3d.lib.api</artifactId>
-  <name>org.gvsig.netcdf3d.lib.api</name>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.netcdf3d.lib</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.gvsig.netcdf3d.lib.api</artifactId>
+	<name>org.gvsig.netcdf3d.lib.api</name>
+	
+	<dependencies>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.view3d.lib.api</artifactId>
+		</dependency>
+	</dependencies>
 </project>
\ No newline at end of file
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 727)
@@ -0,0 +1 @@
+org.gvsig.netcdf3d.lib.api.NetCDFLibrary
\ No newline at end of file
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.api/src/main/java/org/gvsig/netcdf3d/lib/api/NetCDFLibrary.java
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.api/src/main/java/org/gvsig/netcdf3d/lib/api/NetCDFLibrary.java	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.api/src/main/java/org/gvsig/netcdf3d/lib/api/NetCDFLibrary.java	(revision 727)
@@ -0,0 +1,49 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2016 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.netcdf3d.lib.api;
+
+import org.gvsig.tools.library.AbstractLibrary;
+import org.gvsig.tools.library.LibraryException;
+
+/**
+ * NetCDF library for API initialization and configuration.
+ * 
+ * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
+ *
+ */
+public class NetCDFLibrary extends AbstractLibrary {
+    
+    @Override
+    public void doRegistration() {
+        registerAsAPI(NetCDFLibrary.class);
+    }
+
+    @Override
+    protected void doInitialize() throws LibraryException {
+    }
+
+    @Override
+    protected void doPostInitialize() throws LibraryException {
+    }
+
+}
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.api/src/main/java/org/gvsig/netcdf3d/lib/api/NetCDFLoaderParameters.java
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.api/src/main/java/org/gvsig/netcdf3d/lib/api/NetCDFLoaderParameters.java	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.lib/org.gvsig.netcdf3d.lib.api/src/main/java/org/gvsig/netcdf3d/lib/api/NetCDFLoaderParameters.java	(revision 727)
@@ -0,0 +1,121 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2016 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.netcdf3d.lib.api;
+
+import java.util.Calendar;
+
+import org.gvsig.view3d.lib.api.loader.RasterLoaderParameters;
+
+/**
+ * NetCDF loader parameters defines the required parameters to load dynamic
+ * NetCDF raster layers
+ * 
+ * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
+ *
+ */
+public interface NetCDFLoaderParameters extends RasterLoaderParameters {
+
+    public static final String NAME = "NetCDFLoader";
+
+    /**
+     * @return Gets NetCDF variable
+     */
+    public String getVariable();
+
+    /**
+     * Sets NetCDF variable
+     * 
+     * @param variable
+     *            Name of NetCDF variable
+     */
+    public void setVariable(String variable);
+
+    /**
+     * Gets NetCDF band
+     * 
+     * @return Band of NetCDF
+     */
+    public int getBand();
+
+    /**
+     * Sets the specified band
+     * 
+     * @param band
+     *            The specified band
+     * 
+     */
+    public void setBand(int band);
+
+    /**
+     * @return Gets NetCDF level of variable
+     */
+    public double getLevel();
+
+    /**
+     * Set level of NetCDF variable
+     * 
+     * @param level
+     *            Variable level
+     */
+    public void setLevel(double level);
+
+    /**
+     * 
+     * @return Gets start date of NetCDF variable
+     */
+    public Calendar getStartDate();
+
+    /**
+     * Sets start date of NetCDF variable
+     * 
+     * @param startDate
+     *            Start date of variable
+     */
+    public void setStartDate(Calendar startDate);
+
+    /**
+     * 
+     * @return Gets final date of NetCDF variable
+     */
+    public Calendar getFinalDate();
+
+    /**
+     * Sets final date of NetCDF variable
+     * 
+     * @param finalDate
+     *            Final date of variable
+     */
+    public void setFinalDate(Calendar finalDate);
+
+    /**
+     * @return Gets lapse of NetCDF in seconds
+     */
+    public double getLapse();
+
+    /**
+     * Set lapse of NetCDF in seconds
+     * 
+     * @param lapse
+     */
+    public void setLapse(double lapse);
+}
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/DefaultNetCDFSwingLibrary.java
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/DefaultNetCDFSwingLibrary.java	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/DefaultNetCDFSwingLibrary.java	(revision 727)
@@ -0,0 +1,59 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2016 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.netcdf3d.swing.impl;
+
+import org.gvsig.netcdf3d.lib.api.NetCDFLoaderParameters;
+import org.gvsig.netcdf3d.swing.api.NetCDFSwingLibrary;
+import org.gvsig.tools.library.AbstractLibrary;
+import org.gvsig.tools.library.LibraryException;
+import org.gvsig.view3d.swing.api.View3DSwingLibrary;
+import org.gvsig.view3d.swing.api.View3DSwingLocator;
+import org.gvsig.view3d.swing.api.View3DSwingManager;
+
+/**
+ * 
+ * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
+ *
+ */
+public class DefaultNetCDFSwingLibrary extends AbstractLibrary {
+
+    @Override
+    public void doRegistration() {
+        registerAsImplementationOf(NetCDFSwingLibrary.class);
+        require(View3DSwingLibrary.class);
+    }
+
+    @Override
+    protected void doInitialize() throws LibraryException {
+
+        // Register JNetCDF loader factory
+        View3DSwingManager manager = View3DSwingLocator.getManager();
+        manager.registerJLoaderParametersFactory(NetCDFLoaderParameters.NAME,
+            new JNetCDFLoaderParametersFactory());
+    }
+
+    @Override
+    protected void doPostInitialize() throws LibraryException {
+    }
+
+}
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/NetCDFLevelComboBoxRenderer.java
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/NetCDFLevelComboBoxRenderer.java	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/NetCDFLevelComboBoxRenderer.java	(revision 727)
@@ -0,0 +1,59 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2016 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+
+package org.gvsig.netcdf3d.swing.impl;
+
+import java.awt.Component;
+
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.ListCellRenderer;
+
+import org.gvsig.raster.lib.buffer.api.BandInfo;
+
+/**
+ * 
+ * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
+ *
+ */
+public class NetCDFLevelComboBoxRenderer extends JLabel implements ListCellRenderer<BandInfo> {
+
+    private static final long serialVersionUID = 395057954102728450L;
+
+    @Override
+    public Component getListCellRendererComponent(JList<? extends BandInfo> list, BandInfo bandInfo,
+        int index, boolean isSelected, boolean cellHashFocus) {
+        
+        if (isSelected) {
+            setBackground(list.getSelectionBackground());
+            setForeground(list.getSelectionForeground());
+        } else {
+            setBackground(list.getBackground());
+            setForeground(list.getForeground());
+        }
+        
+        setText(bandInfo.getName());
+        return this;
+    }
+
+}
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/JNetCDFLoaderParametersController.java
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/JNetCDFLoaderParametersController.java	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/JNetCDFLoaderParametersController.java	(revision 727)
@@ -0,0 +1,349 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2016 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.netcdf3d.swing.impl;
+
+import java.awt.BorderLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+import javax.swing.JComponent;
+import javax.swing.JOptionPane;
+
+import org.gvsig.fmap.dal.exception.DataException;
+import org.gvsig.fmap.dal.raster.api.BandAttributeDescriptor;
+import org.gvsig.fmap.dal.raster.api.BandDescriptor;
+import org.gvsig.fmap.dal.raster.api.RasterStore;
+import org.gvsig.fmap.mapcontext.layers.FLayer;
+import org.gvsig.fmap.mapcontext.raster.api.RasterLayer;
+import org.gvsig.netcdf3d.lib.api.NetCDFLoaderParameters;
+import org.gvsig.netcdf3d.swing.api.JNetCDFLoaderParameters;
+import org.gvsig.raster.lib.buffer.api.BandInfo;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.dataTypes.CoercionException;
+import org.gvsig.tools.dataTypes.DataTypes;
+import org.gvsig.tools.dataTypes.DataTypesManager;
+import org.gvsig.tools.i18n.I18nManager;
+import org.gvsig.tools.locator.LocatorException;
+import org.gvsig.tools.swing.api.ToolsSwingLocator;
+import org.gvsig.tools.swing.api.threadsafedialogs.ThreadSafeDialogsManager;
+import org.gvsig.view3d.lib.api.exception.FactoryNotRegisteredException;
+import org.gvsig.view3d.lib.api.loader.LoaderParameters;
+import org.gvsig.view3d.lib.api.loader.RasterLoaderParameters;
+import org.gvsig.view3d.swing.api.View3DSwingLocator;
+import org.gvsig.view3d.swing.api.exception.InvalidLoaderParametersException;
+import org.gvsig.view3d.swing.api.exception.JLoaderParameterCreationException;
+import org.gvsig.view3d.swing.api.loader.JLoaderParameters;
+import org.gvsig.view3d.swing.api.loader.JLoaderParametersFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ *
+ * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
+ *
+ */
+public class JNetCDFLoaderParametersController extends JNetCDFLoaderParametersView implements
+    JNetCDFLoaderParameters {
+
+    private static final Logger LOG = LoggerFactory
+        .getLogger(JNetCDFLoaderParametersController.class);
+
+    private static final long serialVersionUID = 5836627499994023353L;
+
+    private JLoaderParameters jRasterLoaderParameters;
+
+    private NetCDFLoaderParameters parameters;
+
+    /**
+     *
+     * @param parameters
+     */
+    public JNetCDFLoaderParametersController(LoaderParameters parameters) {
+
+        if (!(parameters instanceof NetCDFLoaderParameters)) {
+            throw new IllegalArgumentException(
+                "The type of parameters has to be NetCDFLoaderParameters");
+        }
+
+        this.parameters = (NetCDFLoaderParameters) parameters;
+
+        translate();
+        initComponents();
+    }
+
+    @SuppressWarnings("unchecked")
+    private void initComponents() {
+
+        // Initialize raster loader parameters
+        try {
+            JLoaderParametersFactory jLoaderParameterFactory =
+                View3DSwingLocator.getManager().getJLoaderParameterFactory(
+                    RasterLoaderParameters.NAME);
+            jRasterLoaderParameters =
+                jLoaderParameterFactory.createJLoaderParameters(this.parameters);
+        } catch (FactoryNotRegisteredException | JLoaderParameterCreationException e) {
+            ThreadSafeDialogsManager dialogsManager =
+                ToolsSwingLocator.getThreadSafeDialogsManager();
+            dialogsManager.messageDialog("error_initializing_netcdf_loader_parameters", "_error",
+                JOptionPane.ERROR_MESSAGE);
+            return;
+        }
+
+        this.rasterLoaderParameters.setLayout(new BorderLayout());
+        this.rasterLoaderParameters
+            .add(jRasterLoaderParameters.asJComponent(), BorderLayout.CENTER);
+
+        // Set NetCDF combobox render
+        this.variables.setRenderer(new NetCDFLevelComboBoxRenderer());
+        this.initialTimes.setRenderer(new NetCDFTimeComboBoxRenderer());
+        this.finalTimes.setRenderer(new NetCDFTimeComboBoxRenderer());
+
+        // Fill NetCDF variables
+        try {
+            fillVariables();
+        } catch (DataException e) {
+            ThreadSafeDialogsManager dialogsManager =
+                ToolsSwingLocator.getThreadSafeDialogsManager();
+            dialogsManager.messageDialog("error_initializing_netcdf_loader_parameters", "_error",
+                JOptionPane.ERROR_MESSAGE);
+            return;
+        }
+
+        // Fill lapse time
+        this.lapse.setText(String.valueOf(this.parameters.getLapse()));
+
+        // Add action listener to fill levels and times when a variable is
+        // selected
+        this.variables.addActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                doSelectedVariable();
+            }
+        });
+
+        // Fire selected item events
+        this.variables.setSelectedIndex(0);
+    }
+
+    @SuppressWarnings("unchecked")
+    private void fillVariables() throws DataException {
+        FLayer layer = this.parameters.getLayer();
+        if (layer instanceof RasterLayer) {
+            RasterLayer rasterLayer = (RasterLayer) layer;
+            RasterStore rasterStore = rasterLayer.getRasterStore();
+            int bands = rasterStore.getBands();
+            for (int i = 0; i < bands; i++) {
+                BandInfo bandInfo = rasterStore.getBandInfo(i);
+                this.variables.addItem(bandInfo);
+            }
+        }
+    }
+
+    protected void doSelectedVariable() {
+        FLayer layer = this.parameters.getLayer();
+        RasterLayer rasterLayer = null;
+        if (layer instanceof RasterLayer) {
+
+            rasterLayer = (RasterLayer) layer;
+            RasterStore rasterStore = rasterLayer.getRasterStore();
+            BandInfo bandInfo = (BandInfo) this.variables.getSelectedItem();
+            int band = bandInfo.getBand();
+            BandDescriptor bandDescriptor = rasterStore.getBandDescriptor(band);
+
+            // If band does not have band descriptors remove all levels and
+            // times.
+            if (bandDescriptor.size() == 0) {
+
+                setEnableLevels(false);
+                levels.removeAllItems();
+
+                setEnableTime(false);
+                initialTimes.removeAllItems();
+                finalTimes.removeAllItems();
+
+            } else if (bandDescriptor.size() == 1) {
+                BandAttributeDescriptor bandAttributeDescriptor = bandDescriptor.iterator().next();
+                List<Object> values = bandAttributeDescriptor.getValues();
+                if (bandAttributeDescriptor.getName().equals("level")) {
+
+                    setEnableTime(false);
+                    initialTimes.removeAllItems();
+                    finalTimes.removeAllItems();
+                    fillLevels(values);
+                    unitText.setText(bandAttributeDescriptor.getUnits());
+
+
+                } else if (bandAttributeDescriptor.getName().equals("time")) {
+                    setEnableLevels(false);
+                    levels.removeAllItems();
+
+                    fillTimes(values);
+                }
+            } else {
+                for (BandAttributeDescriptor bandAttributeDescriptor : bandDescriptor) {
+                    List<Object> values = bandAttributeDescriptor.getValues();
+                    if (bandAttributeDescriptor.getName().equals("level")) {
+                        fillLevels(values);
+                        unitText.setText(bandAttributeDescriptor.getUnits());
+
+                    } else if (bandAttributeDescriptor.getName().equals("time")) {
+                        fillTimes(values);
+                    }
+                }
+            }
+        }
+    }
+
+    @SuppressWarnings("unchecked")
+    private void fillLevels(List<Object> values) {
+        setEnableLevels(true);
+        levels.removeAllItems();
+        for (Object value : values) {
+            levels.addItem(value);
+        }
+    }
+
+    @SuppressWarnings("unchecked")
+    private void fillTimes(List<Object> values) {
+        setEnableTime(true);
+        initialTimes.removeAllItems();
+        finalTimes.removeAllItems();
+
+        for (Object value : values) {
+            initialTimes.addItem(value);
+            finalTimes.addItem(value);
+        }
+        finalTimes.setSelectedIndex(values.size()-1);
+    }
+
+    private void setEnableTime(boolean enable) {
+        initialTimes.setEnabled(enable);
+        initialTimeText.setEnabled(enable);
+        finalTimeText.setEnabled(enable);
+        finalTimes.setEnabled(enable);
+    }
+
+    private void setEnableLevels(boolean enable) {
+        levelText.setEnabled(enable);
+        levels.setEnabled(enable);
+        if(!enable){
+            unitText.setText("");
+        }
+    }
+
+    private void translate() {
+
+        I18nManager i18nManager = ToolsLocator.getI18nManager();
+        variableText.setText(i18nManager.getTranslation(variableText.getText()));
+        levelText.setText(i18nManager.getTranslation(levelText.getText()));
+        initialTimeText.setText(i18nManager.getTranslation(initialTimeText.getText()));
+        finalTimeText.setText(i18nManager.getTranslation(finalTimeText.getText()));
+        lapseText.setText(i18nManager.getTranslation(lapseText.getText()));
+    }
+
+    @Override
+    public LoaderParameters getLoaderParameters() throws InvalidLoaderParametersException {
+
+        NetCDFLoaderParameters loaderParameters =
+            (NetCDFLoaderParameters) jRasterLoaderParameters.getLoaderParameters();
+        BandInfo bandInfo = (BandInfo) this.variables.getSelectedItem();
+        loaderParameters.setVariable(bandInfo.getName());
+        loaderParameters.setBand(bandInfo.getBand());
+
+        if(this.levels.getSelectedItem() != null){
+            loaderParameters.setLevel((double) this.levels.getSelectedItem());
+        }
+
+        DataTypesManager dataTypesManager = ToolsLocator.getDataTypesManager();
+        try {
+            loaderParameters.setLapse((double) dataTypesManager.coerce(DataTypes.DOUBLE,
+                this.lapse.getText()));
+        } catch (CoercionException e) {
+            LOG.warn("Lapse value has to be numeric");
+            throw new InvalidLoaderParametersException("Lapse value has to be numeric",
+                "value_lapse_field_has_to_be_numeric", null);
+        }
+
+        Calendar initialDate = (Calendar) this.initialTimes.getSelectedItem();
+        Calendar finalDate = (Calendar) this.finalTimes.getSelectedItem();
+
+        if (initialDate != null && finalDate != null) {
+            if (finalDate.before(initialDate)) {
+                LOG.warn("Final date can not be before initial date");
+                throw new InvalidLoaderParametersException(
+                    "Final date can not be previous initial date",
+                    "final_date_can_not_be_previous_initial_date", null);
+            }
+
+            loaderParameters.setStartDate(initialDate);
+            loaderParameters.setFinalDate(finalDate);
+        }
+
+        return loaderParameters;
+    }
+
+    @Override
+    public JComponent asJComponent() {
+        return this;
+    }
+
+    @Override
+    public String getLevel() {
+        return (String) this.levels.getSelectedItem();
+    }
+
+    @Override
+    public String getVariable() {
+        BandInfo bandInfo = (BandInfo) this.variables.getSelectedItem();
+        if (bandInfo != null) {
+            return bandInfo.getName();
+        }
+        return null;
+    }
+
+    @Override
+    public Date getStartDate() {
+        return (Date) this.initialTimes.getSelectedItem();
+    }
+
+    @Override
+    public Date getEndDate() {
+        return (Date) this.finalTimes.getSelectedItem();
+    }
+
+    @Override
+    public double getLapse() {
+        try {
+            return (double) ToolsLocator.getDataTypesManager().coerce(DataTypes.DOUBLE,
+                this.lapse.getText());
+        } catch (LocatorException | CoercionException e) {
+            LOG.warn(String.format("Can not coerce %1s values to double", this.lapse.getText()), e);
+            return 1; // Returns default value
+        }
+    }
+
+}
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/JNetCDFLoaderParametersFactory.java
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/JNetCDFLoaderParametersFactory.java	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/JNetCDFLoaderParametersFactory.java	(revision 727)
@@ -0,0 +1,76 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2016 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.netcdf3d.swing.impl;
+
+import org.gvsig.fmap.mapcontext.raster.api.RasterLayer;
+import org.gvsig.netcdf3d.lib.api.NetCDFLoaderParameters;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.i18n.I18nManager;
+import org.gvsig.view3d.lib.api.loader.LoaderParameters;
+import org.gvsig.view3d.swing.api.exception.JLoaderParameterCreationException;
+import org.gvsig.view3d.swing.api.loader.JLoaderParameters;
+import org.gvsig.view3d.swing.api.loader.JLoaderParametersFactory;
+
+/**
+ * 
+ * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
+ *
+ */
+public class JNetCDFLoaderParametersFactory implements JLoaderParametersFactory {
+
+    @Override
+    public int accepts(Object object) {
+
+        if (object instanceof RasterLayer) {
+            RasterLayer rasterLayer = (RasterLayer) object;
+            String providerName = rasterLayer.getRasterStore().getProviderName();
+            if ("RasterNetCDFStoreProvider".equals(providerName)) {
+                return 1000;
+            }
+        }
+        return 0;
+    }
+
+    @Override
+    public JLoaderParameters createJLoaderParameters(LoaderParameters parameters)
+        throws JLoaderParameterCreationException {
+        return new JNetCDFLoaderParametersController(parameters);
+    }
+
+    @Override
+    public String getDisplayName() {
+        I18nManager i18nManager = ToolsLocator.getI18nManager();
+        return i18nManager.getTranslation("NetCDF");
+    }
+
+    @Override
+    public String getName() {
+        return NetCDFLoaderParameters.NAME;
+    }
+
+    @Override
+    public int getPriority() {
+        return 120;
+    }
+
+}
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/JNetCDFLoaderParametersView.xml
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/JNetCDFLoaderParametersView.xml	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/JNetCDFLoaderParametersView.xml	(revision 727)
@@ -0,0 +1,832 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<object classname="com.jeta.forms.store.memento.FormPackage">
+ <at name="fileversion">
+  <object classname="com.jeta.forms.store.memento.FormsVersion2">
+   <at name="major">2</at>
+   <at name="minor">0</at>
+   <at name="sub">0</at>
+  </object>
+ </at>
+ <at name="form">
+  <object classname="com.jeta.forms.store.memento.FormMemento">
+   <super classname="com.jeta.forms.store.memento.ComponentMemento">
+    <at name="cellconstraints">
+     <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+      <at name="column">1</at>
+      <at name="row">1</at>
+      <at name="colspan">1</at>
+      <at name="rowspan">1</at>
+      <at name="halign">default</at>
+      <at name="valign">default</at>
+      <at name="insets" object="insets">0,0,0,0</at>
+     </object>
+    </at>
+    <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
+   </super>
+   <at name="id">/home/paco/projects/externals/repo_interno_desig/desig-lote1-gvsig.desig-lote1_gvsig/fuentes/ENT-102573_carga_dinamica_netcdf/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/JNetCDFLoaderParametersView.xml</at>
+   <at name="rowspecs">CENTER:4DLU:NONE,FILL:DEFAULT:NONE,CENTER:4DLU:NONE,FILL:DEFAULT:NONE,CENTER:4DLU:NONE,FILL:DEFAULT:NONE,CENTER:4DLU:NONE,FILL:DEFAULT:NONE,CENTER:4DLU:NONE,FILL:DEFAULT:NONE,CENTER:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE</at>
+   <at name="colspecs">FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE</at>
+   <at name="components">
+    <object classname="java.util.LinkedList">
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">1</at>
+           <at name="row">12</at>
+           <at name="colspan">1</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="name">lapseText</at>
+            <at name="width">244</at>
+            <at name="text">lapse_XxparenthesisxX_s_XxparenthesisxX</at>
+            <at name="fill">
+             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+              <at name="name">fill</at>
+             </object>
+            </at>
+            <at name="height">20</at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">1</at>
+           <at name="row">10</at>
+           <at name="colspan">1</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="name">finalTimeText</at>
+            <at name="width">244</at>
+            <at name="text">final_time</at>
+            <at name="fill">
+             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+              <at name="name">fill</at>
+             </object>
+            </at>
+            <at name="height">20</at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">1</at>
+           <at name="row">8</at>
+           <at name="colspan">1</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="name">initialTimeText</at>
+            <at name="width">244</at>
+            <at name="text">initial_time</at>
+            <at name="fill">
+             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+              <at name="name">fill</at>
+             </object>
+            </at>
+            <at name="height">20</at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">1</at>
+           <at name="row">6</at>
+           <at name="colspan">1</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="name">levelText</at>
+            <at name="width">244</at>
+            <at name="text">level</at>
+            <at name="fill">
+             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+              <at name="name">fill</at>
+             </object>
+            </at>
+            <at name="height">20</at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">1</at>
+           <at name="row">4</at>
+           <at name="colspan">1</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="name">variableText</at>
+            <at name="width">244</at>
+            <at name="text">variable</at>
+            <at name="fill">
+             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+              <at name="name">fill</at>
+             </object>
+            </at>
+            <at name="height">20</at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">1</at>
+           <at name="row">2</at>
+           <at name="colspan">5</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">javax.swing.JPanel</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">javax.swing.JPanel</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="name">rasterLoaderParameters</at>
+            <at name="width">946</at>
+            <at name="height">12</at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">3</at>
+           <at name="row">10</at>
+           <at name="colspan">3</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">javax.swing.JComboBox</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">javax.swing.JComboBox</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="name">finalTimes</at>
+            <at name="width">691</at>
+            <at name="items">
+             <object classname="com.jeta.forms.store.properties.ItemsProperty">
+              <at name="name">items</at>
+             </object>
+            </at>
+            <at name="height">20</at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">3</at>
+           <at name="row">8</at>
+           <at name="colspan">3</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">javax.swing.JComboBox</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">javax.swing.JComboBox</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="name">initialTimes</at>
+            <at name="width">691</at>
+            <at name="items">
+             <object classname="com.jeta.forms.store.properties.ItemsProperty">
+              <at name="name">items</at>
+             </object>
+            </at>
+            <at name="height">20</at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">3</at>
+           <at name="row">6</at>
+           <at name="colspan">1</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">javax.swing.JComboBox</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">javax.swing.JComboBox</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="name">levels</at>
+            <at name="width">668</at>
+            <at name="items">
+             <object classname="com.jeta.forms.store.properties.ItemsProperty">
+              <at name="name">items</at>
+             </object>
+            </at>
+            <at name="height">20</at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">3</at>
+           <at name="row">4</at>
+           <at name="colspan">3</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">javax.swing.JComboBox</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">javax.swing.JComboBox</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="name">variables</at>
+            <at name="width">691</at>
+            <at name="items">
+             <object classname="com.jeta.forms.store.properties.ItemsProperty">
+              <at name="name">items</at>
+             </object>
+            </at>
+            <at name="height">20</at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">3</at>
+           <at name="row">12</at>
+           <at name="colspan">3</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">javax.swing.JTextField</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">javax.swing.JTextField</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="name">lapse</at>
+            <at name="width">691</at>
+            <at name="height">20</at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">5</at>
+           <at name="row">6</at>
+           <at name="colspan">1</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="name">unitText</at>
+            <at name="width">12</at>
+            <at name="fill">
+             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+              <at name="name">fill</at>
+             </object>
+            </at>
+            <at name="height">20</at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+    </object>
+   </at>
+   <at name="properties">
+    <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+     <at name="classname">com.jeta.forms.gui.form.GridView</at>
+     <at name="properties">
+      <object classname="com.jeta.forms.store.support.PropertyMap">
+       <at name="border">
+        <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+         <super classname="com.jeta.forms.store.properties.BorderProperty">
+          <at name="name">border</at>
+         </super>
+         <at name="borders">
+          <object classname="java.util.LinkedList"/>
+         </at>
+        </object>
+       </at>
+       <at name="name"></at>
+       <at name="fill">
+        <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+         <at name="name">fill</at>
+        </object>
+       </at>
+       <at name="scollBars">
+        <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
+         <at name="name">scollBars</at>
+         <at name="verticalpolicy">21</at>
+         <at name="horizontalpolicy">31</at>
+         <at name="border">
+          <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+           <super classname="com.jeta.forms.store.properties.BorderProperty">
+            <at name="name">border</at>
+           </super>
+           <at name="borders">
+            <object classname="java.util.LinkedList">
+             <item >
+              <at name="value">
+               <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                <super classname="com.jeta.forms.store.properties.BorderProperty">
+                 <at name="name">border</at>
+                </super>
+               </object>
+              </at>
+             </item>
+            </object>
+           </at>
+          </object>
+         </at>
+        </object>
+       </at>
+      </object>
+     </at>
+    </object>
+   </at>
+   <at name="cellpainters">
+    <object classname="com.jeta.forms.store.support.Matrix">
+     <at name="rows">
+      <object classname="[Ljava.lang.Object;" size="13">
+       <at name="item" index="0">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="1">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="2">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="3">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="4">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="5">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="6">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="7">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="8">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="9">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="10">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="11">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="12">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+      </object>
+     </at>
+    </object>
+   </at>
+   <at name="rowgroups">
+    <object classname="com.jeta.forms.store.memento.FormGroupSet">
+     <at name="groups">
+      <object classname="java.util.HashMap"/>
+     </at>
+    </object>
+   </at>
+   <at name="colgroups">
+    <object classname="com.jeta.forms.store.memento.FormGroupSet">
+     <at name="groups">
+      <object classname="java.util.HashMap"/>
+     </at>
+    </object>
+   </at>
+  </object>
+ </at>
+</object>
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/NetCDFTimeComboBoxRenderer.java
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/NetCDFTimeComboBoxRenderer.java	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/NetCDFTimeComboBoxRenderer.java	(revision 727)
@@ -0,0 +1,60 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2016 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+
+package org.gvsig.netcdf3d.swing.impl;
+
+import java.awt.Component;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.ListCellRenderer;
+
+/**
+ * 
+ * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
+ *
+ */
+public class NetCDFTimeComboBoxRenderer extends JLabel implements ListCellRenderer<Calendar> {
+
+    private static final long serialVersionUID = -96555682367099715L;
+
+    @Override
+    public Component getListCellRendererComponent(JList<? extends Calendar> list, Calendar calendar,
+        int index, boolean isSelected, boolean cellHashFocus) {
+        
+        if (isSelected) {
+            setBackground(list.getSelectionBackground());
+            setForeground(list.getSelectionForeground());
+        } else {
+            setBackground(list.getBackground());
+            setForeground(list.getForeground());
+        }
+        
+        SimpleDateFormat format = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss");
+        setText(format.format((calendar.getTime())));
+        return this;
+    }
+
+}
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/JNetCDFLoaderParametersView.java
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/JNetCDFLoaderParametersView.java	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/java/org/gvsig/netcdf3d/swing/impl/JNetCDFLoaderParametersView.java	(revision 727)
@@ -0,0 +1,182 @@
+package org.gvsig.netcdf3d.swing.impl;
+
+import com.jgoodies.forms.layout.CellConstraints;
+import com.jgoodies.forms.layout.FormLayout;
+import java.awt.BorderLayout;
+import java.awt.ComponentOrientation;
+import java.awt.Container;
+import java.awt.Dimension;
+import javax.swing.Box;
+import javax.swing.ImageIcon;
+import javax.swing.JComboBox;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+
+
+public class JNetCDFLoaderParametersView extends JPanel
+{
+   JLabel lapseText = new JLabel();
+   JLabel finalTimeText = new JLabel();
+   JLabel initialTimeText = new JLabel();
+   JLabel levelText = new JLabel();
+   JLabel variableText = new JLabel();
+   JPanel rasterLoaderParameters = new JPanel();
+   JComboBox finalTimes = new JComboBox();
+   JComboBox initialTimes = new JComboBox();
+   JComboBox levels = new JComboBox();
+   JComboBox variables = new JComboBox();
+   JTextField lapse = new JTextField();
+   JLabel unitText = new JLabel();
+
+   /**
+    * Default constructor
+    */
+   public JNetCDFLoaderParametersView()
+   {
+      initializePanel();
+   }
+
+   /**
+    * Adds fill components to empty cells in the first row and first column of the grid.
+    * This ensures that the grid spacing will be the same as shown in the designer.
+    * @param cols an array of column indices in the first row where fill components should be added.
+    * @param rows an array of row indices in the first column where fill components should be added.
+    */
+   void addFillComponents( Container panel, int[] cols, int[] rows )
+   {
+      Dimension filler = new Dimension(10,10);
+
+      boolean filled_cell_11 = false;
+      CellConstraints cc = new CellConstraints();
+      if ( cols.length > 0 && rows.length > 0 )
+      {
+         if ( cols[0] == 1 && rows[0] == 1 )
+         {
+            /** add a rigid area  */
+            panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
+            filled_cell_11 = true;
+         }
+      }
+
+      for( int index = 0; index < cols.length; index++ )
+      {
+         if ( cols[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
+      }
+
+      for( int index = 0; index < rows.length; index++ )
+      {
+         if ( rows[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
+      }
+
+   }
+
+   /**
+    * Helper method to load an image file from the CLASSPATH
+    * @param imageName the package and name of the file to load relative to the CLASSPATH
+    * @return an ImageIcon instance with the specified image file
+    * @throws IllegalArgumentException if the image resource cannot be loaded.
+    */
+   public ImageIcon loadImage( String imageName )
+   {
+      try
+      {
+         ClassLoader classloader = getClass().getClassLoader();
+         java.net.URL url = classloader.getResource( imageName );
+         if ( url != null )
+         {
+            ImageIcon icon = new ImageIcon( url );
+            return icon;
+         }
+      }
+      catch( Exception e )
+      {
+         e.printStackTrace();
+      }
+      throw new IllegalArgumentException( "Unable to load image: " + imageName );
+   }
+
+   /**
+    * Method for recalculating the component orientation for
+    * right-to-left Locales.
+    * @param orientation the component orientation to be applied
+    */
+   public void applyComponentOrientation( ComponentOrientation orientation )
+   {
+      // Not yet implemented...
+      // I18NUtils.applyComponentOrientation(this, orientation);
+      super.applyComponentOrientation(orientation);
+   }
+
+   public JPanel createPanel()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE","CENTER:4DLU:NONE,FILL:DEFAULT:NONE,CENTER:4DLU:NONE,FILL:DEFAULT:NONE,CENTER:4DLU:NONE,FILL:DEFAULT:NONE,CENTER:4DLU:NONE,FILL:DEFAULT:NONE,CENTER:4DLU:NONE,FILL:DEFAULT:NONE,CENTER:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      lapseText.setName("lapseText");
+      lapseText.setText("lapse_XxparenthesisxX_s_XxparenthesisxX");
+      jpanel1.add(lapseText,cc.xy(1,12));
+
+      finalTimeText.setName("finalTimeText");
+      finalTimeText.setText("final_time");
+      jpanel1.add(finalTimeText,cc.xy(1,10));
+
+      initialTimeText.setName("initialTimeText");
+      initialTimeText.setText("initial_time");
+      jpanel1.add(initialTimeText,cc.xy(1,8));
+
+      levelText.setName("levelText");
+      levelText.setText("level");
+      jpanel1.add(levelText,cc.xy(1,6));
+
+      variableText.setName("variableText");
+      variableText.setText("variable");
+      jpanel1.add(variableText,cc.xy(1,4));
+
+      rasterLoaderParameters.setName("rasterLoaderParameters");
+      jpanel1.add(rasterLoaderParameters,cc.xywh(1,2,5,1));
+
+      finalTimes.setName("finalTimes");
+      jpanel1.add(finalTimes,cc.xywh(3,10,3,1));
+
+      initialTimes.setName("initialTimes");
+      jpanel1.add(initialTimes,cc.xywh(3,8,3,1));
+
+      levels.setName("levels");
+      jpanel1.add(levels,cc.xy(3,6));
+
+      variables.setName("variables");
+      jpanel1.add(variables,cc.xywh(3,4,3,1));
+
+      lapse.setName("lapse");
+      jpanel1.add(lapse,cc.xywh(3,12,3,1));
+
+      unitText.setName("unitText");
+      jpanel1.add(unitText,cc.xy(5,6));
+
+      addFillComponents(jpanel1,new int[]{ 1,2,3,4,5 },new int[]{ 1,3,5,7,9,11,13 });
+      return jpanel1;
+   }
+
+   /**
+    * Initializer
+    */
+   protected void initializePanel()
+   {
+      setLayout(new BorderLayout());
+      add(createPanel(), BorderLayout.CENTER);
+   }
+
+
+}
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 727)
@@ -0,0 +1 @@
+org.gvsig.netcdf3d.swing.impl.DefaultNetCDFSwingLibrary
\ No newline at end of file
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/pom.xml
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/pom.xml	(revision 726)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.impl/pom.xml	(revision 727)
@@ -1,10 +1,35 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.gvsig</groupId>
-    <artifactId>org.gvsig.netcdf3d.swing</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-  </parent>
-  <artifactId>org.gvsig.netcdf3d.swing.impl</artifactId>
-  <name>org.gvsig.netcdf3d.swing.impl</name>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.netcdf3d.swing</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.gvsig.netcdf3d.swing.impl</artifactId>
+	<name>org.gvsig.netcdf3d.swing.impl</name>
+	
+	<dependencies>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.netcdf3d.lib.api</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.netcdf3d.swing.api</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.view3d.swing.api</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.fmap.dal.raster.api</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.fmap.mapcontext.raster.api</artifactId>
+		</dependency>
+	</dependencies>
+	
 </project>
\ No newline at end of file
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.api/src/main/java/org/gvsig/netcdf3d/swing/api/NetCDFSwingLibrary.java
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.api/src/main/java/org/gvsig/netcdf3d/swing/api/NetCDFSwingLibrary.java	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.api/src/main/java/org/gvsig/netcdf3d/swing/api/NetCDFSwingLibrary.java	(revision 727)
@@ -0,0 +1,49 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2016 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.netcdf3d.swing.api;
+
+import org.gvsig.tools.library.AbstractLibrary;
+import org.gvsig.tools.library.LibraryException;
+import org.gvsig.view3d.swing.api.View3DSwingLibrary;
+
+/**
+ * 
+ * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
+ *
+ */
+public class NetCDFSwingLibrary extends AbstractLibrary {
+    
+    @Override
+    public void doRegistration() {
+        registerAsAPI(NetCDFSwingLibrary.class);
+    }
+
+    @Override
+    protected void doInitialize() throws LibraryException {
+    }
+
+    @Override
+    protected void doPostInitialize() throws LibraryException {
+    }
+
+}
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.api/src/main/java/org/gvsig/netcdf3d/swing/api/JNetCDFLoaderParameters.java
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.api/src/main/java/org/gvsig/netcdf3d/swing/api/JNetCDFLoaderParameters.java	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.api/src/main/java/org/gvsig/netcdf3d/swing/api/JNetCDFLoaderParameters.java	(revision 727)
@@ -0,0 +1,71 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2016 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.netcdf3d.swing.api;
+
+import java.util.Date;
+
+import org.gvsig.view3d.swing.api.loader.JLoaderParameters;
+
+/**
+ * 
+ * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
+ *
+ */
+public interface JNetCDFLoaderParameters extends JLoaderParameters {
+
+    /**
+     * Gets selected level. Can be <code>null</code>
+     * 
+     * @return Specified level
+     */
+    public String getLevel();
+
+    /**
+     * Gets selected netCDF variable
+     * 
+     * @return Specified netCDF variable
+     */
+    public String getVariable();
+
+    /**
+     * Gets selected start date. Can be <code>null</code>
+     * 
+     * @return Start date
+     */
+    public Date getStartDate();
+
+    /**
+     * Gets selected end date. Can be <code>null</code>
+     * 
+     * @return End date
+     */
+    public Date getEndDate();
+
+    /**
+     * Gets specified lapse.
+     * 
+     * @return Lapse time
+     */
+    public double getLapse();
+
+}
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 0)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 727)
@@ -0,0 +1 @@
+org.gvsig.netcdf3d.swing.api.NetCDFSwingLibrary
\ No newline at end of file
Index: org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.api/pom.xml
===================================================================
--- org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.api/pom.xml	(revision 726)
+++ org.gvsig.netcdf3d/trunk/org.gvsig.netcdf3d/org.gvsig.netcdf3d.swing/org.gvsig.netcdf3d.swing.api/pom.xml	(revision 727)
@@ -7,4 +7,12 @@
   </parent>
   <artifactId>org.gvsig.netcdf3d.swing.api</artifactId>
   <name>org.gvsig.netcdf3d.swing.api</name>
+  
+  <dependencies>
+  	<dependency>
+  		<groupId>org.gvsig</groupId>
+  		<artifactId>org.gvsig.view3d.swing.api</artifactId>
+  	</dependency>
+  </dependencies>
+  
 </project>
\ No newline at end of file
