Initial import and save to Git repository

Saved GEOS-5.7.2 data processing code to the Git repository.
Based on the MERRA data code.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Updated Perl scripts for GEOS-5.7.x

Modified Perl scripts for GEOS-5.7.x data:

- Now read from "doGeos57.input" defaults file
- sleepGeos57 now uses checkGeos57
- checkGeos57 now updated for GEOS-5.7.x filenames
- doGeos57 now updated
- .gitignore files added in Perl (and other) subdirs
- getGeos57 file updated for new file names

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Added .gitignore files in jobs & logs directory

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Add Makefiles and ProTex script in /doc directory

Tested doc/Makefile to produce PDF and PS output for the
Makefiles and the Perl scripts in the perl/ subdirectory.

Also added a .gitignore file in the jobs subdirectory.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Updated TestGeos57.F90 test program

Now point to the data in the scratch directory for testing.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Remove login info from the perl/doGeos57.input file

For security purposes, remove the login name and password
from the doGeos57.input file.  This is so that we can push
the GEOS-5.7 repository to a global site.

The login info will be kept locally.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Now don't download the D57T1NXOCN file

The tavg1_2d_ocn_Nx file has the same data as in other files,
so we don't need it.  For now omit it from the getGeos57
and checkGeos57 scripts.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Updates for reading netCDF4 input data

- Modified Geos57Driver.input file
- Modified Geos57InputsModule.F90 to read Geos57Driver.input
- Updated Geos57CnModule.F90; removed binary data output
- Updated Geos57RegridModule.F90; now compute grid centers
- Updated Makefile & Makefile_header.mk for linking to netCDF
- Updated m_netcdf_io_read.F90; add REAL*8 and REAL*4 routines
- Added Makefile in the bin directory
- Updated data directory in perl/doGeos57.input

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Synch netCDF modules with those in NcdfUtilities

We now use the latest netCDF modules from NcdfUtilities.  These
have been updated for efficiency (i.e. don't cast to local
variables before/after data I/O) and to extend the array sizes
and types of data that can be read/written.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Activate regridding in Geos57CnModule

- Turn on regridding to 2x2.5 and 4x5 in Geos57CnModule.
- Also activate full netCDF output format

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Geos57CnModule can now save SEA4CRS nested domain

Modified Geos57InputsModule.F90 and Geos57CnModule.F90 to
define the nested grid region for the SEA4CRS China/SE Asia
domain (20S to 40N, 60E to 120E).

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Further updates to Geos57CnModule

(1) Now can save out the SEA4CRS nested China domain
(2) netCDF output is readable by IDL and GAMAP
(3) Fix minor typos & other errors

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Add Geos57I3Module.F90 to process instantaneous 3hr data

We have added the processing of the GEOS-5.7.x instantaneous
3-hr (I3) data from the inst3_3d_asm_Nv file.  The netCDF output
has been tested.

At present, only the processing of the surface pressure data
(2D) has been activated.  We will add more functionality
very shortly.

Made several modifications in the other modules to support
the I3 data processing.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Expand the number of global attributes saved to netCDF files

We now save extra global attributes to the netCDF files,
including: contact information, file creation time, filename,
file format, and history.

Also introduce Geos57UtilityModule.F90 which contains several
commonly routines for string and time manipulation.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Add functionality for A1 output files (initial commit)

Add the shell of Geos57A1Module.F90.  At present, this module
defines all of the variables for the netCDF output files but
does not yet regrid any data.

Also made some netCDF attributes consistent in the other
modules Geos57CnModule.F90 and Geos57I3Module.F90.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Create template file in netCDF format

For the regridding process, we need the LWI mask, FRLAND,
and FRLANDICE fields at 0.25 x 0.3125 resolution.

Add program CreateTemplateFile.F90 and Makefile_Template to
generate the template file (Geos57TemplateFile.nc).

Modified Geos57InputsModule.F90 accordingly.  Also some
further modifications in Geos57A1Module.F90.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Activate code to create Land/water/ice flags

The LWI field has to be computed from other fields.  Now
activate the routines Geos57CreateLwi and Geos57RegridLwi
in Geos57A1Module.F90.

Also make some corresponding modifications in the module
Geos57InputsModule.F90.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Also save out Land/water/ice flags for nested grid

Create a placeholder mapping object in Geos57InputsModule.F90
so that other routines (like Geos57SeaIceBins) will not have
to be modified.  Also now ensure that the LWI flags are saved
out to disk for the native-resolution nested grids.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Now activate code to compute SEAICExx bins

Activated the code in Geos57A1Module.F90 to compute the
SEAICE00, SEAICE10 .. SEAICE90 fractional sea ice variables.
Use the same algorithm as in the MERRA code.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Activated regridding for fields in tavg1_2d_slv_Nx file

Adapted the same algorithm for tavg1_2d_slv_Nx file from
the MERRA code (with appropriate modifications for netCDF).

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>