PROGRAM IRRGRID c IMPLICIT NONE c INTEGER NDIMS, I INTEGER*4 BASETIME INTEGER NCID, RCODE INTEGER LON_ID,LAT_ID,ALT_ID,TIMOFF_ID,BTIM_ID INTEGER VAR_ID, PLAT_ID INTEGER LENDIM, PLATDIM, TIMDIM INTEGER PDIM, TDIM, LDIM CHARACTER FICNAME*14 c PARAMETER (NDIMS=2) PARAMETER (TDIM=3,PDIM=4,LDIM=25) c INTEGER UDIMS(NDIMS), VDIMS(NDIMS) INTEGER COUNT2a(NDIMS), COUNT2b(NDIMS), START2(NDIMS) REAL VAR_IRR(PDIM,TDIM), LON(PDIM), LAT(PDIM), ALT(PDIM) REAL TTIME(TDIM) CHARACTER PLAT*256 c c DATA COUNT2a /PDIM, TDIM/ DATA COUNT2b /LDIM, PDIM/ DATA START2 /1, 1/ DATA BASETIME/720489600/ c INCLUDE 'netcdf.inc'
c c ---------- Initialisation variables ---------- c PLAT = 'plat1 '// s 'plat2 '// s 'plat3 '// s 'plat4 ' c DO 100 I=1,PDIM LON(I) = 100. + I LAT(I) = 0. + 2*I ALT(I) = 10. * I 100 CONTINUE DO 200 I=1,TDIM TTIME(I) = 5. * I 200 CONTINUE c c ---------- Creation du fichier ---------- c FICNAME = 'irr.cdf' NCID = NCCRE(FICNAME, NCCLOB, RCODE) c c ---------- Definition dimensions ---------- c TIMDIM = NCDDEF(NCID, 'time', NCUNLIM, RCODE) PLATDIM = NCDDEF(NCID, 'platform', PDIM, RCODE) LENDIM = NCDDEF(NCID, 'fldlen', LDIM, RCODE) c UDIMS(1) = PLATDIM UDIMS(2) = TIMDIM c VDIMS(1) = LENDIM VDIMS(2) = PLATDIM c c ---------- Definition variables ---------- c VAR_ID = NCVDEF (NCID, 'var_irr', NCFLOAT, NDIMS, UDIMS, RCODE) BTIM_ID = NCVDEF (NCID, 'base_time', NCLONG, 0, 1, RCODE) TIMOFF_ID = NCVDEF (NCID, 'time_offset', NCFLOAT, 1, TIMDIM, s RCODE) LON_ID = NCVDEF (NCID, 'lon', NCFLOAT, 1, PLATDIM, RCODE) LAT_ID = NCVDEF (NCID, 'lat', NCFLOAT, 1, PLATDIM, RCODE) ALT_ID = NCVDEF (NCID, 'alt', NCFLOAT, 1, PLATDIM, RCODE) PLAT_ID = NCVDEF (NCID, 'platform', NCCHAR, NDIMS, VDIMS, RCODE)
c c ---------- Definition attributs ---------- c CALL NCAPT (NCID, VAR_ID, 'missing_value', NCFLOAT, 1, -9999., s RCODE ) CALL NCAPTC (NCID, VAR_ID, 'long_name', NCCHAR, 20, s 'Variable grille irr.', RCODE ) c CALL NCENDF (NCID, RCODE) c c ---------- Ecriture des donnees ---------- c CALL NCVPT (NCID, VAR_ID, START2, COUNT2a, VAR_IRR, RCODE) CALL NCVPT1 (NCID, BTIM_ID, 1, BASETIME, RCODE) CALL NCVPT (NCID, TIMOFF_ID, 1, TDIM, TTIME, RCODE) CALL NCVPT (NCID, LON_ID, 1, PDIM, LON, RCODE) CALL NCVPT (NCID, LAT_ID, 1, PDIM, LAT, RCODE) CALL NCVPT (NCID, ALT_ID, 1, PDIM, ALT, RCODE) CALL NCVPTC (NCID, PLAT_ID, START2, COUNT2b, PLAT, PDIM*LDIM, s RCODE) c CALL NCCLOS(NCID, RCODE) c END