|
|
elemental logical function, public | nemsio_openclose::equal_str_nocase (str1, str2) |
| |
|
subroutine, public | nemsio_openclose::nemsio_close (gfile, iret) |
| |
|
subroutine, public | nemsio_openclose::nemsio_finalize () |
| |
|
subroutine, public | nemsio_openclose::nemsio_getfilehead (gfile, iret, gtype, gdatatype, gfname, gaction, modelname, version, nmeta, lmeta, nrec, idate, nfday, nfhour, nfminute, nfsecondn, nfsecondd, dimx, dimy, dimz, nframe, nsoil, ntrac, ncldt, jcap, idvc, idsl, idvm, idrt, rlon_min, rlon_max, rlat_min, rlat_max, tlmeta, flunit, file_endian, do_byteswap, extrameta, nmetavari, nmetavarr, nmetavarl, nmetavarc, nmetavarr8, nmetaaryi, nmetaaryr, nmetaaryl, nmetaaryc, nmetaaryr8, recname, reclevtyp, reclev, vcoord, lon, lat, dx, dy, cpi, ri, variname, varival, varrname, varrval, varlname, varlval, varcname, varcval, varr8name, varr8val, aryiname, aryilen, aryival, aryrname, aryrlen, aryrval, arylname, aryllen, arylval, arycname, aryclen, arycval, aryr8name, aryr8len, aryr8val) |
| |
|
subroutine, public | nemsio_openclose::nemsio_getrechead (gfile, jrec, name, levtyp, lev, iret) |
| |
|
subroutine, public | nemsio_openclose::nemsio_init (iret) |
| |
|
subroutine, public | nemsio_openclose::nemsio_open (gfile, gfname, gaction, iret, gdatatype, version, nmeta, lmeta, modelname, nrec, idate, nfday, nfhour, nfminute, nfsecondn, nfsecondd, dimx, dimy, dimz, nframe, nsoil, ntrac, jcap, ncldt, idvc, idsl, idvm, idrt, rlon_min, rlon_max, rlat_min, rlat_max, extrameta, nmetavari, nmetavarr, nmetavarl, nmetavarc, nmetaaryi, nmetaaryr, nmetaaryl, nmetaaryc, nmetavarr8, nmetaaryr8, recname, reclevtyp, reclev, vcoord, lat, lon, dx, dy, cpi, ri, variname, varival, varrname, varrval, varlname, varlval, varcname, varcval, varr8name, varr8val, aryiname, aryilen, aryival, aryrname, aryrlen, aryrval, arylname, aryllen, arylval, arycname, aryclen, arycval, aryr8name, aryr8len, aryr8val) |
| |
|
subroutine, public | nemsio_openclose::nemsio_searchrecv (gfile, jrec, name, levtyp, lev, iret) |
| |
|
subroutine, public | nemsio_openclose::nemsio_setfilehead (gfile, iret, lat, lon, dx, dy) |
| |
|
subroutine, public | nemsio_openclose::nemsio_setrqst (gfile, grbmeta, iret, jrec, vname, vlevtyp, vlev, w34, idrt, itr, zhour, ibms, precision) |
| |
|
subroutine, public | nemsio_openclose::nemsio_stop () |
| |
|
|
integer, parameter, public | nemsio_openclose::nemsio_charkind =16 |
| |
|
integer, parameter, public | nemsio_openclose::nemsio_charkind4 =4 |
| |
|
integer, parameter, public | nemsio_openclose::nemsio_charkind8 =8 |
| |
|
real(nemsio_dblekind), parameter | nemsio_openclose::nemsio_dblefill =-9999._nemsio_dblekind |
| |
|
integer, parameter, public | nemsio_openclose::nemsio_dblekind =8 |
| |
|
integer(nemsio_intkind), parameter | nemsio_openclose::nemsio_intfill =-9999_nemsio_intkind |
| |
|
integer(nemsio_intkind8), parameter | nemsio_openclose::nemsio_intfill8 =-9999_nemsio_intkind8 |
| |
|
integer, parameter, public | nemsio_openclose::nemsio_intkind =4 |
| |
|
integer, parameter, public | nemsio_openclose::nemsio_intkind8 =8 |
| |
|
real(nemsio_intkind), parameter, public | nemsio_openclose::nemsio_kpds_intfill =-1_nemsio_intkind |
| |
|
integer, parameter | nemsio_openclose::nemsio_lmeta1 =48 |
| |
|
integer, parameter | nemsio_openclose::nemsio_lmeta3 =40 |
| |
|
logical(nemsio_logickind), parameter | nemsio_openclose::nemsio_logicfill =.false. |
| |
|
integer, parameter, public | nemsio_openclose::nemsio_logickind =4 |
| |
|
real(nemsio_realkind), parameter | nemsio_openclose::nemsio_realfill =-9999._nemsio_realkind |
| |
|
integer, parameter, public | nemsio_openclose::nemsio_realkind =4 |
| |
|
real(nemsio_realkind), parameter, public | nemsio_openclose::nemsio_undef_grb =9.E20_nemsio_realkind |
| |
Open and close a nemsio file
- Author
- J. Wang
- Date
- 2011-01-13
This module provides subroutines to open or close a nemsio file. A data type that contains all the header information in the file is provided, this data structure has 12 standard meta data records as well as user-defined meta data. subroutine nemsio_getfilehead is used to get elements for the standard metadata, while subroutine nemsio_getheadvar could get one variable out from user-defined meta data.
Possible return code
- 0 Successful call
- -1 Open or close I/O error
- -2 array size inconsistent in gfile
- -3 error in reading/write Meta data
- -5 Search record or set GRIB message header (pds/gds) error
- -6 allocate/deallocate error
- -7 set grib table
- -8 file meta data initialization (default:1152*576)
- -9 NOT nemsio type file
- -10 get/close file unit
- -11 get field name, levtyp and lev from record number
- -17 get var from file header
Public Defined Types nemsio_gfile private
- gtype: character(nemsio_charkind8) NEMSIO file identifier
- gdatatype:character(nemsio_charkind8) data format
- modelname:character(nemsio_charkind8) modelname
- version: integer(nemsio_intkind) verion number
- nmeta: integer(nemsio_intkind) number of metadata rec
- lmeta: integer(nemsio_intkind) length of metadata rec 2 for model paramodels
- nrec: integer(nemsio_intkind) number of data rec
- idate(1:7):integer(nemsio_intkind) initial date (yyyy/mm/dd/hh/mm/ssn/ssd)
- nfday: integer(nemsio_intkind) forecast day
- nfhour: integer(nemsio_intkind) forecast hour
- nfminute:integer(nemsio_intkind) forecast minutes
- nfsecondn:integer(nemsio_intkind) numerator of forecast second fraction
- nfsecondd:integer(nemsio_intkind) denominator of forecast second fraction
- dimy: integer(nemsio_intkind) dimension in latitude
- dimx: integer(nemsio_intkind) dimension in Longitude
- dimz: integer(nemsio_intkind) number of levels
- nframe: integer(nemsio_intkind) dimension of halo
- nsoil: integer(nemsio_intkind) number of soil layers
- ntrac: integer(nemsio_intkind) number of tracers
- jcap: integer(nemsio_intkind) spectral truncation
- ncldt: integer(nemsio_intkind) number of cloud types
- idsl: integer(nemsio_intkind) semi-lagrangian id
- idvc: integer(nemsio_intkind) vertical coordinate id
- idvm: integer(nemsio_intkind) mass variable id
- idrt: integer(nemsio_intkind) grid identifier (idrt=4 for gaussian grid, idrt=0 for equally-spaced grid including poles, idrt=256 for equally-spaced grid excluding poles)
- rlon_min:real(nemsio_realkind) minimal longtitude of regional domain (global:set to 0)
- rlon_max:real(nemsio_realkind) maximal longtitude of regional domain (global:set to 360.)
- rlat_min:real(nemsio_realkind) minimal longtitude of regional domain (global:set to -90)
- rlat_max:real(nemsio_realkind) maximal longtitude of regional domain (global:set to 90)
- extrameta:logical(nemsio_logickind)extra meta data flag
- nmetavari:integer(nemsio_intkind) number of extra meta data integer variables
- nmetavarr:integer(nemsio_intkind) number of extra meta data real(4) variables
- nmetavarl:integer(nemsio_intkind) number of extra meta data logical variables
- nmetavarc:integer(nemsio_intkind) number of extra meta data character variables
- nmetavarr8:integer(nemsio_intkind) number of extra meta data real(8) variables
- nmetaaryi:integer(nemsio_intkind) number of extra meta data integer arrays
- nmetaaryr:integer(nemsio_intkind) number of extra meta data real(4) arrays
- nmetaaryl:integer(nemsio_intkind) number of extra meta data logical arrays
- nmetaaryc:integer(nemsio_intkind) number of extra meta data character arrays
- nmetaaryr8:integer(nemsio_intkind) number of extra meta data real(8) arrays
- recname: character(nemsio_charkind),allocatable recname(nrec) data field names
- reclevtyp: character(nemsio_charkind),allocatable reclevtyp(nrec) data field level type
- reclev: integer(nemsio_intkind),allocatable reclev(nrec) data field level
- vcoord: real(nemsio_realkind),allocatable vcoord(dimz+1,3,2) vertical coordinate
- lat: real(nemsio_realkind),allocatable lat(fieldsize) lat for mess point
- lon: real(nemsio_realkind),allocatable lon(fieldsize) lon for mess point
- dx: real(nemsio_realkind),allocatable dx(fieldsize) grid distance in x dimension
- dy: real(nemsio_realkind),allocatable dy(fieldsize) grid distance in y dimension
- Cpi: real(nemsio_realkind),allocatable cpi(ntracer+1) specific heat at constant pressure,dryair + tracers
- Ri: real(nemsio_realkind),allocatable ri(ntrac+1) gas constant for dryair + tracers
- variname:character(nemsio_charkind) names of extra meta data integer variables
- varrname:character(nemsio_charkind) names of extra meta data real(4) variables
- varlname:character(nemsio_charkind) names of extra meta data logical variables
- varcname:character(nemsio_charkind) names of extra meta data string variables
- varr8name:character(nemsio_charkind) names of extra meta data real(8) variables
- varival: integer(nemsio_intkind) values of extra meta data integer variables
- varrval: real(nemsio_realkind) values of extra meta data real(4) variables
- varlval: logical(nemsio_logickind) values of extra meta data logical variables
- varcval: character(nemsio_charkind) values of extra meta data string variables
- varr8val: real(nemsio_dblekind) values of extra meta data real(8) variables
- aryiname:character(nemsio_charkind) names of extra meta data integer arrays
- aryrname:character(nemsio_charkind) names of extra meta data real arrays
- aryr8name:character(nemsio_charkind) names of extra meta data real(8) arrays
- arylname:character(nemsio_charkind) names of extra meta data logical arrays
- arycname:character(nemsio_charkind) names of extra meta data character arrays
- aryilen: integer(nemsio_intkind) length of extra meta data integer arrays
- aryrlen: integer(nemsio_intkind) length of extra meta data real(4) arrays
- aryr8len: integer(nemsio_intkind) length of extra meta data real(8) arrays
- aryllen: integer(nemsio_intkind) length of extra meta data logical arrays
- aryclen: integer(nemsio_intkind) length of extra meta data string arrays
- aryival: integer(nemsio_intkind) values of extra meta data integer arrays
- aryrval: real(nemsio_realkind) values of extra meta data real(4) arrays
- aryr8val: real(nemsio_dblekind) values of extra meta data real(8) arrays
- arylval: logical(nemsio_logickind) values of extra meta data logical arrays
- arycval: character(nemsio_charkind) values of extra meta data character arrays
- gfname: character(255) file name
- gaction: character(nemsio_charkind) read/write
- flunit: integer(nemsio_intkind) unit number
- tlmeta: integer(nemsio_intkind) total header length
- fieldsize: integer(nemsio_intkind) size for one field
- tlmetalat: integer(nemsio_intkind8) header length before header record lat
- tlmetalon: integer(nemsio_intkind8) header length before header record lon
- tlmetadx: integer(nemsio_intkind8) header length before header record dx
- tlmetady: integer(nemsio_intkind8) header length before header record dy
- tlmetavarival: integer(nemsio_intkind8) header length before header record varival
- tlmetaaryival: integer(nemsio_intkind8) header length before header record aryival
- file_endian: character(nemsio_charkind) file endianness
Public subroutines:
- nemsio_init
- nemsio_finalize
- nemsio_open
- nemsio_close
- nemsio_getfilehead
- nemsio_getrechead
- nemsio_getheadvar
- nemsio_setheadvar
- nemsio_setfilehead
Definition in file nemsio_openclose.f90.