Changeset d2d8a96 in flexpart.git


Ignore:
Timestamp:
Feb 17, 2017, 3:03:43 AM (7 years ago)
Author:
Don Morton <Don.Morton@…>
Branches:
fp9.3.1-20161214-nc4
Children:
1d9681b
Parents:
a9c0209
Message:

Continuing transformation of FP intermediate met format
from raw binary to NC4

Details in CTBTO Ticket #295, comment:8

File:
1 edited

Legend:

Unmodified
Added
Removed
  • flexpart_code/fpmetbinary_mod.F90

    ra9c0209 rd2d8a96  
    323323        CHARACTER(LEN=128) :: errmesg
    324324
    325         INTEGER, PARAMETER :: DEF_LEVEL = 9
     325        INTEGER, PARAMETER :: DEF_LEVEL = 3
    326326
    327327        if (op == 'DUMP') THEN
     
    648648            WRITE(iounit) vdep(:,:,:,cm_index)
    649649
     650            dim2dids = (/nxmax_dimid, nymax_dimid/)
     651
     652            ncret = nf90_def_var(ncid, 'ps', NF90_FLOAT, &
     653&                                       dim2dids, ncvarid)
     654            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     655&                                        shuffle=0,     &
     656&                                        deflate=1,     &
     657&                                        deflate_level=DEF_LEVEL)
     658            ncret = nf90_put_var(ncid, ncvarid, &
     659&                                ps(0:nxmax-1, 0:nymax-1, 1, cm_index))
     660
     661            ncret = nf90_def_var(ncid, 'sd', NF90_FLOAT, &
     662&                                       dim2dids, ncvarid)
     663            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     664&                                        shuffle=0,     &
     665&                                        deflate=1,     &
     666&                                        deflate_level=DEF_LEVEL)
     667            ncret = nf90_put_var(ncid, ncvarid, &
     668&                                sd(0:nxmax-1, 0:nymax-1, 1, cm_index))
     669
     670            ncret = nf90_def_var(ncid, 'msl', NF90_FLOAT, &
     671&                                       dim2dids, ncvarid)
     672            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     673&                                        shuffle=0,     &
     674&                                        deflate=1,     &
     675&                                        deflate_level=DEF_LEVEL)
     676            ncret = nf90_put_var(ncid, ncvarid, &
     677&                                msl(0:nxmax-1, 0:nymax-1, 1, cm_index))
     678
     679            ncret = nf90_def_var(ncid, 'tcc', NF90_FLOAT, &
     680&                                       dim2dids, ncvarid)
     681            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     682&                                        shuffle=0,     &
     683&                                        deflate=1,     &
     684&                                        deflate_level=DEF_LEVEL)
     685            ncret = nf90_put_var(ncid, ncvarid, &
     686&                                tcc(0:nxmax-1, 0:nymax-1, 1, cm_index))
     687
     688            ncret = nf90_def_var(ncid, 'u10', NF90_FLOAT, &
     689&                                       dim2dids, ncvarid)
     690            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     691&                                        shuffle=0,     &
     692&                                        deflate=1,     &
     693&                                        deflate_level=DEF_LEVEL)
     694            ncret = nf90_put_var(ncid, ncvarid, &
     695&                                u10(0:nxmax-1, 0:nymax-1, 1, cm_index))
     696
     697            ncret = nf90_def_var(ncid, 'v10', NF90_FLOAT, &
     698&                                       dim2dids, ncvarid)
     699            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     700&                                        shuffle=0,     &
     701&                                        deflate=1,     &
     702&                                        deflate_level=DEF_LEVEL)
     703            ncret = nf90_put_var(ncid, ncvarid, &
     704&                                v10(0:nxmax-1, 0:nymax-1, 1, cm_index))
     705
     706            ncret = nf90_def_var(ncid, 'tt2', NF90_FLOAT, &
     707&                                       dim2dids, ncvarid)
     708            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     709&                                        shuffle=0,     &
     710&                                        deflate=1,     &
     711&                                        deflate_level=DEF_LEVEL)
     712            ncret = nf90_put_var(ncid, ncvarid, &
     713&                                tt2(0:nxmax-1, 0:nymax-1, 1, cm_index))
     714
     715            ncret = nf90_def_var(ncid, 'td2', NF90_FLOAT, &
     716&                                       dim2dids, ncvarid)
     717            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     718&                                        shuffle=0,     &
     719&                                        deflate=1,     &
     720&                                        deflate_level=DEF_LEVEL)
     721            ncret = nf90_put_var(ncid, ncvarid, &
     722&                                td2(0:nxmax-1, 0:nymax-1, 1, cm_index))
     723
     724            ncret = nf90_def_var(ncid, 'lsprec', NF90_FLOAT, &
     725&                                       dim2dids, ncvarid)
     726            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     727&                                        shuffle=0,     &
     728&                                        deflate=1,     &
     729&                                        deflate_level=DEF_LEVEL)
     730            ncret = nf90_put_var(ncid, ncvarid, &
     731&                                lsprec(0:nxmax-1, 0:nymax-1, 1, cm_index))
     732
     733            ncret = nf90_def_var(ncid, 'convprec', NF90_FLOAT, &
     734&                                       dim2dids, ncvarid)
     735            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     736&                                        shuffle=0,     &
     737&                                        deflate=1,     &
     738&                                        deflate_level=DEF_LEVEL)
     739            ncret = nf90_put_var(ncid, ncvarid, &
     740&                                convprec(0:nxmax-1, 0:nymax-1, 1, cm_index))
     741
     742            ncret = nf90_def_var(ncid, 'sshf', NF90_FLOAT, &
     743&                                       dim2dids, ncvarid)
     744            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     745&                                        shuffle=0,     &
     746&                                        deflate=1,     &
     747&                                        deflate_level=DEF_LEVEL)
     748            ncret = nf90_put_var(ncid, ncvarid, &
     749&                                sshf(0:nxmax-1, 0:nymax-1, 1, cm_index))
     750
     751            ncret = nf90_def_var(ncid, 'ssr', NF90_FLOAT, &
     752&                                       dim2dids, ncvarid)
     753            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     754&                                        shuffle=0,     &
     755&                                        deflate=1,     &
     756&                                        deflate_level=DEF_LEVEL)
     757            ncret = nf90_put_var(ncid, ncvarid, &
     758&                                ssr(0:nxmax-1, 0:nymax-1, 1, cm_index))
     759
     760            ncret = nf90_def_var(ncid, 'surfstr', NF90_FLOAT, &
     761&                                       dim2dids, ncvarid)
     762            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     763&                                        shuffle=0,     &
     764&                                        deflate=1,     &
     765&                                        deflate_level=DEF_LEVEL)
     766            ncret = nf90_put_var(ncid, ncvarid, &
     767&                                surfstr(0:nxmax-1, 0:nymax-1, 1, cm_index))
     768
     769            ncret = nf90_def_var(ncid, 'ustar', NF90_FLOAT, &
     770&                                       dim2dids, ncvarid)
     771            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     772&                                        shuffle=0,     &
     773&                                        deflate=1,     &
     774&                                        deflate_level=DEF_LEVEL)
     775            ncret = nf90_put_var(ncid, ncvarid, &
     776&                                ustar(0:nxmax-1, 0:nymax-1, 1, cm_index))
     777
     778            ncret = nf90_def_var(ncid, 'wstar', NF90_FLOAT, &
     779&                                       dim2dids, ncvarid)
     780            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     781&                                        shuffle=0,     &
     782&                                        deflate=1,     &
     783&                                        deflate_level=DEF_LEVEL)
     784            ncret = nf90_put_var(ncid, ncvarid, &
     785&                                wstar(0:nxmax-1, 0:nymax-1, 1, cm_index))
     786
     787            ncret = nf90_def_var(ncid, 'hmix', NF90_FLOAT, &
     788&                                       dim2dids, ncvarid)
     789            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     790&                                        shuffle=0,     &
     791&                                        deflate=1,     &
     792&                                        deflate_level=DEF_LEVEL)
     793            ncret = nf90_put_var(ncid, ncvarid, &
     794&                                hmix(0:nxmax-1, 0:nymax-1, 1, cm_index))
     795
     796            ncret = nf90_def_var(ncid, 'tropopause', NF90_FLOAT, &
     797&                                       dim2dids, ncvarid)
     798            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     799&                                        shuffle=0,     &
     800&                                        deflate=1,     &
     801&                                        deflate_level=DEF_LEVEL)
     802            ncret = nf90_put_var(ncid, ncvarid, &
     803&                                tropopause(0:nxmax-1, 0:nymax-1, 1, cm_index))
     804
     805            ncret = nf90_def_var(ncid, 'oli', NF90_FLOAT, &
     806&                                       dim2dids, ncvarid)
     807            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     808&                                        shuffle=0,     &
     809&                                        deflate=1,     &
     810&                                        deflate_level=DEF_LEVEL)
     811            ncret = nf90_put_var(ncid, ncvarid, &
     812&                                oli(0:nxmax-1, 0:nymax-1, 1, cm_index))
     813
     814            ncret = nf90_def_var(ncid, 'diffk', NF90_FLOAT, &
     815&                                       dim2dids, ncvarid)
     816            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     817&                                        shuffle=0,     &
     818&                                        deflate=1,     &
     819&                                        deflate_level=DEF_LEVEL)
     820            ncret = nf90_put_var(ncid, ncvarid, &
     821&                                diffk(0:nxmax-1, 0:nymax-1, 1, cm_index))
     822
     823
     824
     825            PRINT *, 'SUM(ps(0:nxmax-1, 0:nymax-1, 1, cm_index)): ', &
     826&                                        SUM(ps(0:nxmax-1,0:nymax-1,1, cm_index))
     827
     828            PRINT *, 'SUM(wstar(0:nxmax-1, 0:nymax-1, 1, cm_index)): ', &
     829&                                        SUM(wstar(0:nxmax-1,0:nymax-1,1, cm_index))
     830
     831
     832
     833
     834
    650835            ! 1d fields
    651836            WRITE(iounit) z0(:)
     
    9941179            READ(iounit) vdep(:,:,:,cm_index)
    9951180
     1181            ! Get the varid and read the variable into the array
     1182            ncret = nf90_inq_varid(ncid, 'ps', ncvarid)
     1183            ncret = nf90_get_var(ncid, ncvarid, ps(0:nxmax-1,0:nymax-1,1,cm_index))
     1184
     1185            ncret = nf90_inq_varid(ncid, 'sd', ncvarid)
     1186            ncret = nf90_get_var(ncid, ncvarid, sd(0:nxmax-1,0:nymax-1,1,cm_index))
     1187
     1188            ncret = nf90_inq_varid(ncid, 'msl', ncvarid)
     1189            ncret = nf90_get_var(ncid, ncvarid, msl(0:nxmax-1,0:nymax-1,1,cm_index))
     1190
     1191            ncret = nf90_inq_varid(ncid, 'tcc', ncvarid)
     1192            ncret = nf90_get_var(ncid, ncvarid, tcc(0:nxmax-1,0:nymax-1,1,cm_index))
     1193
     1194            ncret = nf90_inq_varid(ncid, 'u10', ncvarid)
     1195            ncret = nf90_get_var(ncid, ncvarid, u10(0:nxmax-1,0:nymax-1,1,cm_index))
     1196
     1197            ncret = nf90_inq_varid(ncid, 'v10', ncvarid)
     1198            ncret = nf90_get_var(ncid, ncvarid, v10(0:nxmax-1,0:nymax-1,1,cm_index))
     1199
     1200            ncret = nf90_inq_varid(ncid, 'tt2', ncvarid)
     1201            ncret = nf90_get_var(ncid, ncvarid, tt2(0:nxmax-1,0:nymax-1,1,cm_index))
     1202
     1203            ncret = nf90_inq_varid(ncid, 'td2', ncvarid)
     1204            ncret = nf90_get_var(ncid, ncvarid, td2(0:nxmax-1,0:nymax-1,1,cm_index))
     1205
     1206            ncret = nf90_inq_varid(ncid, 'lsprec', ncvarid)
     1207            ncret = nf90_get_var(ncid, ncvarid, lsprec(0:nxmax-1,0:nymax-1,1,cm_index))
     1208
     1209            ncret = nf90_inq_varid(ncid, 'convprec', ncvarid)
     1210            ncret = nf90_get_var(ncid, ncvarid, convprec(0:nxmax-1,0:nymax-1,1,cm_index))
     1211
     1212            ncret = nf90_inq_varid(ncid, 'sshf', ncvarid)
     1213            ncret = nf90_get_var(ncid, ncvarid, sshf(0:nxmax-1,0:nymax-1,1,cm_index))
     1214
     1215            ncret = nf90_inq_varid(ncid, 'ssr', ncvarid)
     1216            ncret = nf90_get_var(ncid, ncvarid, ssr(0:nxmax-1,0:nymax-1,1,cm_index))
     1217
     1218            ncret = nf90_inq_varid(ncid, 'surfstr', ncvarid)
     1219            ncret = nf90_get_var(ncid, ncvarid, surfstr(0:nxmax-1,0:nymax-1,1,cm_index))
     1220
     1221            ncret = nf90_inq_varid(ncid, 'ustar', ncvarid)
     1222            ncret = nf90_get_var(ncid, ncvarid, ustar(0:nxmax-1,0:nymax-1,1,cm_index))
     1223
     1224            ncret = nf90_inq_varid(ncid, 'wstar', ncvarid)
     1225            ncret = nf90_get_var(ncid, ncvarid, wstar(0:nxmax-1,0:nymax-1,1,cm_index))
     1226
     1227            ncret = nf90_inq_varid(ncid, 'hmix', ncvarid)
     1228            ncret = nf90_get_var(ncid, ncvarid, hmix(0:nxmax-1,0:nymax-1,1,cm_index))
     1229
     1230            ncret = nf90_inq_varid(ncid, 'tropopause', ncvarid)
     1231            ncret = nf90_get_var(ncid, ncvarid, tropopause(0:nxmax-1,0:nymax-1,1,cm_index))
     1232
     1233            ncret = nf90_inq_varid(ncid, 'oli', ncvarid)
     1234            ncret = nf90_get_var(ncid, ncvarid, oli(0:nxmax-1,0:nymax-1,1,cm_index))
     1235
     1236            ncret = nf90_inq_varid(ncid, 'diffk', ncvarid)
     1237            ncret = nf90_get_var(ncid, ncvarid, diffk(0:nxmax-1,0:nymax-1,1,cm_index))
     1238
     1239
     1240
     1241
     1242            PRINT *, 'SUM(ps(0:nxmax-1, 0:nymax-1, 1, cm_index)): ', &
     1243&                                        SUM(ps(0:nxmax-1,0:nymax-1,1, cm_index))
     1244
     1245            PRINT *, 'SUM(wstar(0:nxmax-1, 0:nymax-1, 1, cm_index)): ', &
     1246&                                        SUM(wstar(0:nxmax-1,0:nymax-1,1, cm_index))
     1247
     1248
     1249
     1250
     1251
     1252
    9961253            ! 1d fields
    9971254            READ(iounit) z0(:)
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG