Changeset 8413bc9 in flexpart.git for flexpart_code


Ignore:
Timestamp:
Apr 9, 2017, 10:15:25 PM (7 years ago)
Author:
Don Morton <Don.Morton@…>
Branches:
fp9.3.1-20161214-nc4
Children:
ee13a7b
Parents:
8651603
Message:

Continuing work on NC4 implementation of intermediate format

File:
1 edited

Legend:

Unmodified
Added
Removed
  • flexpart_code/fpmetbinary_mod.F90

    r8651603 r8413bc9  
    308308
    309309        INTEGER :: nxmax_dimid, nymax_dimid, nzmax_dimid, nuvzmax_dimid, nwzmax_dimid, &
    310 &                  maxspec_dimid, numclass_dimid, maxnests_dimid, nxmaxn_dimid, nymaxn_dimid
     310&                  maxspec_dimid, numclass_dimid, maxnests_dimid, nxmaxn_dimid, nymaxn_dimid, &
     311&                  zero_to_nzmax_dimid
     312
    311313
    312314        INTEGER, DIMENSION(1) :: dim1dids    ! Dimension IDs for 1D arrays
     
    314316        INTEGER, DIMENSION(3) :: dim3dids    ! Dimension IDs for 3D arrays
    315317        INTEGER, DIMENSION(4) :: dim4dids    ! Dimension IDs for 4D arrays
     318        INTEGER, DIMENSION(5) :: dim5dids    ! Dimension IDs for 5D arrays
     319
     320
    316321
    317322
     
    320325&                                       nuvzmax_dimname, nwzmax_dimname,&
    321326&                                       maxspec_dimname, numclass_dimname,&
    322 &                                       maxnests_dimname, nxmaxn_dimname, nymaxn_dimname
     327&                                       maxnests_dimname, nxmaxn_dimname, nymaxn_dimname, &
     328&                                       zero_to_nzmax_dimname
    323329
    324330        ! These are temporary variables, used in the LOAD option, for
     
    347353
    348354            ncret = nf90_def_dim(ncid, 'nxmax', nxmax, nxmax_dimid)
     355            call handle_nf90_err(ncret)
    349356            ncret = nf90_def_dim(ncid, 'nymax', nymax, nymax_dimid)
     357            call handle_nf90_err(ncret)
    350358            ncret = nf90_def_dim(ncid, 'nzmax', nzmax, nzmax_dimid)
     359            call handle_nf90_err(ncret)
    351360            ncret = nf90_def_dim(ncid, 'nuvzmax', nuvzmax, nuvzmax_dimid)
     361            call handle_nf90_err(ncret)
    352362            ncret = nf90_def_dim(ncid, 'nwzmax', nwzmax, nwzmax_dimid)
     363            call handle_nf90_err(ncret)
    353364            ncret = nf90_def_dim(ncid, 'maxspec', maxspec, maxspec_dimid)
     365            call handle_nf90_err(ncret)
    354366            ncret = nf90_def_dim(ncid, 'numclass', numclass, numclass_dimid)
     367            call handle_nf90_err(ncret)
     368            ncret = nf90_def_dim(ncid, 'zero_to_nzmax', nzmax+1, zero_to_nzmax_dimid)
     369            call handle_nf90_err(ncret)
     370
    355371
    356372            ! Scalar values
     
    360376
    361377            ncret = nf90_def_var(ncid, 'nx', NF90_INT, ncvarid)
     378            call handle_nf90_err(ncret)
    362379            ncret = nf90_put_var(ncid, ncvarid, nx)
     380            call handle_nf90_err(ncret)
    363381
    364382            ncret = nf90_def_var(ncid, 'ny', NF90_INT, ncvarid)
     383            call handle_nf90_err(ncret)
    365384            ncret = nf90_put_var(ncid, ncvarid, ny)
     385            call handle_nf90_err(ncret)
    366386
    367387            ncret = nf90_def_var(ncid, 'nxmin1', NF90_INT, ncvarid)
     388            call handle_nf90_err(ncret)
    368389            ncret = nf90_put_var(ncid, ncvarid, nxmin1)
     390            call handle_nf90_err(ncret)
    369391
    370392            ncret = nf90_def_var(ncid, 'nymin1', NF90_INT, ncvarid)
     393            call handle_nf90_err(ncret)
    371394            ncret = nf90_put_var(ncid, ncvarid, nymin1)
     395            call handle_nf90_err(ncret)
    372396
    373397            ncret = nf90_def_var(ncid, 'nxfield', NF90_INT, ncvarid)
     398            call handle_nf90_err(ncret)
    374399            ncret = nf90_put_var(ncid, ncvarid, nxfield)
     400            call handle_nf90_err(ncret)
    375401
    376402            ncret = nf90_def_var(ncid, 'nuvz', NF90_INT, ncvarid)
     403            call handle_nf90_err(ncret)
    377404            ncret = nf90_put_var(ncid, ncvarid, nuvz)
     405            call handle_nf90_err(ncret)
    378406
    379407            ncret = nf90_def_var(ncid, 'nwz', NF90_INT, ncvarid)
     408            call handle_nf90_err(ncret)
    380409            ncret = nf90_put_var(ncid, ncvarid, nwz)
     410            call handle_nf90_err(ncret)
    381411
    382412            ncret = nf90_def_var(ncid, 'nz', NF90_INT, ncvarid)
     413            call handle_nf90_err(ncret)
    383414            ncret = nf90_put_var(ncid, ncvarid, nz)
     415            call handle_nf90_err(ncret)
    384416
    385417            ncret = nf90_def_var(ncid, 'nmixz', NF90_INT, ncvarid)
     418            call handle_nf90_err(ncret)
    386419            ncret = nf90_put_var(ncid, ncvarid, nmixz)
     420            call handle_nf90_err(ncret)
    387421
    388422            ncret = nf90_def_var(ncid, 'nlev_ec', NF90_INT, ncvarid)
     423            call handle_nf90_err(ncret)
    389424            ncret = nf90_put_var(ncid, ncvarid, nlev_ec)
     425            call handle_nf90_err(ncret)
    390426
    391427            ncret = nf90_def_var(ncid, 'dx', NF90_FLOAT, ncvarid)
     428            call handle_nf90_err(ncret)
    392429            ncret = nf90_put_var(ncid, ncvarid, dx)
     430            call handle_nf90_err(ncret)
    393431
    394432            ncret = nf90_def_var(ncid, 'dy', NF90_FLOAT, ncvarid)
     433            call handle_nf90_err(ncret)
    395434            ncret = nf90_put_var(ncid, ncvarid, dy)
     435            call handle_nf90_err(ncret)
    396436
    397437            ncret = nf90_def_var(ncid, 'xlon0', NF90_FLOAT, ncvarid)
     438            call handle_nf90_err(ncret)
    398439            ncret = nf90_put_var(ncid, ncvarid, xlon0)
     440            call handle_nf90_err(ncret)
    399441
    400442            ncret = nf90_def_var(ncid, 'ylat0', NF90_FLOAT, ncvarid)
     443            call handle_nf90_err(ncret)
    401444            ncret = nf90_put_var(ncid, ncvarid, ylat0)
     445            call handle_nf90_err(ncret)
    402446
    403447            ncret = nf90_def_var(ncid, 'dxconst', NF90_FLOAT, ncvarid)
     448            call handle_nf90_err(ncret)
    404449            ncret = nf90_put_var(ncid, ncvarid, dxconst)
     450            call handle_nf90_err(ncret)
    405451
    406452            ncret = nf90_def_var(ncid, 'dyconst', NF90_FLOAT, ncvarid)
     453            call handle_nf90_err(ncret)
    407454            ncret = nf90_put_var(ncid, ncvarid, dyconst)
     455            call handle_nf90_err(ncret)
    408456
    409457
     
    416464            ncret = nf90_def_var(ncid, 'oro', NF90_FLOAT, &
    417465&                                       dim2dids, ncvarid)
    418             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    419 &                                        shuffle=0,     &
    420 &                                        deflate=1,     &
    421 &                                        deflate_level=DEF_LEVEL)
     466            call handle_nf90_err(ncret)
     467            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     468&                                        shuffle=0,     &
     469&                                        deflate=1,     &
     470&                                        deflate_level=DEF_LEVEL)
     471            call handle_nf90_err(ncret)
    422472            ncret = nf90_put_var(ncid, ncvarid, &
    423473&                                oro(0:nxmax-1, 0:nymax-1))
     474            call handle_nf90_err(ncret)
    424475
    425476            ncret = nf90_def_var(ncid, 'excessoro', NF90_FLOAT, &
    426477&                                       dim2dids, ncvarid)
    427             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    428 &                                        shuffle=0,     &
    429 &                                        deflate=1,     &
    430 &                                        deflate_level=DEF_LEVEL)
     478            call handle_nf90_err(ncret)
     479            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     480&                                        shuffle=0,     &
     481&                                        deflate=1,     &
     482&                                        deflate_level=DEF_LEVEL)
     483            call handle_nf90_err(ncret)
    431484            ncret = nf90_put_var(ncid, ncvarid, &
    432485&                                excessoro(0:nxmax-1, 0:nymax-1))
     486            call handle_nf90_err(ncret)
    433487
    434488            ncret = nf90_def_var(ncid, 'lsm', NF90_FLOAT, &
    435489&                                       dim2dids, ncvarid)
    436             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    437 &                                        shuffle=0,     &
    438 &                                        deflate=1,     &
    439 &                                        deflate_level=DEF_LEVEL)
     490            call handle_nf90_err(ncret)
     491            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     492&                                        shuffle=0,     &
     493&                                        deflate=1,     &
     494&                                        deflate_level=DEF_LEVEL)
     495            call handle_nf90_err(ncret)
    440496            ncret = nf90_put_var(ncid, ncvarid, &
    441497&                                lsm(0:nxmax-1, 0:nymax-1))
     498            call handle_nf90_err(ncret)
    442499
    443500            dim3dids = (/nxmax_dimid, nymax_dimid, numclass_dimid/)
     
    445502            ncret = nf90_def_var(ncid, 'xlanduse', NF90_FLOAT, &
    446503&                                       dim3dids, ncvarid)
    447             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    448 &                                        shuffle=0,     &
    449 &                                        deflate=1,     &
    450 &                                        deflate_level=DEF_LEVEL)
     504            call handle_nf90_err(ncret)
     505            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     506&                                        shuffle=0,     &
     507&                                        deflate=1,     &
     508&                                        deflate_level=DEF_LEVEL)
     509            call handle_nf90_err(ncret)
    451510            ncret = nf90_put_var(ncid, ncvarid, &
    452511&                                xlanduse(0:nxmax-1, 0:nymax-1, 1:numclass))
     512            call handle_nf90_err(ncret)
    453513
    454514            dim1dids = (/nzmax_dimid/)
    455515            ncret = nf90_def_var(ncid, 'height', NF90_FLOAT, &
    456516&                                       dim1dids, ncvarid)
    457             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    458 &                                        shuffle=0,     &
    459 &                                        deflate=1,     &
    460 &                                        deflate_level=DEF_LEVEL)
     517            call handle_nf90_err(ncret)
     518            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     519&                                        shuffle=0,     &
     520&                                        deflate=1,     &
     521&                                        deflate_level=DEF_LEVEL)
     522            call handle_nf90_err(ncret)
    461523            ncret = nf90_put_var(ncid, ncvarid, &
    462524&                                height(1:nzmax))
     525            call handle_nf90_err(ncret)
    463526
    464527
     
    486549            ncret = nf90_def_var(ncid, 'uu', NF90_FLOAT, &
    487550&                                       dim3dids, ncvarid)
    488             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    489 &                                        shuffle=0,     &
    490 &                                        deflate=1,     &
    491 &                                        deflate_level=DEF_LEVEL)
     551            call handle_nf90_err(ncret)
     552            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     553&                                        shuffle=0,     &
     554&                                        deflate=1,     &
     555&                                        deflate_level=DEF_LEVEL)
     556            call handle_nf90_err(ncret)
    492557            ncret = nf90_put_var(ncid, ncvarid, &
    493558&                                uu(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
     559            call handle_nf90_err(ncret)
    494560
    495561            ncret = nf90_def_var(ncid, 'vv', NF90_FLOAT, &
    496562&                                       dim3dids, ncvarid)
    497             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    498 &                                        shuffle=0,     &
    499 &                                        deflate=1,     &
    500 &                                        deflate_level=DEF_LEVEL)
     563            call handle_nf90_err(ncret)
     564            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     565&                                        shuffle=0,     &
     566&                                        deflate=1,     &
     567&                                        deflate_level=DEF_LEVEL)
     568            call handle_nf90_err(ncret)
    501569            ncret = nf90_put_var(ncid, ncvarid, &
    502570&                                vv(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
     571            call handle_nf90_err(ncret)
    503572
    504573            ncret = nf90_def_var(ncid, 'uupol', NF90_FLOAT, &
    505574&                                       dim3dids, ncvarid)
    506             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    507 &                                        shuffle=0,     &
    508 &                                        deflate=1,     &
    509 &                                        deflate_level=DEF_LEVEL)
     575            call handle_nf90_err(ncret)
     576            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     577&                                        shuffle=0,     &
     578&                                        deflate=1,     &
     579&                                        deflate_level=DEF_LEVEL)
     580            call handle_nf90_err(ncret)
    510581            ncret = nf90_put_var(ncid, ncvarid, &
    511582&                                uupol(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
     583            call handle_nf90_err(ncret)
    512584
    513585            ncret = nf90_def_var(ncid, 'vvpol', NF90_FLOAT, &
    514586&                                       dim3dids, ncvarid)
    515             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    516 &                                        shuffle=0,     &
    517 &                                        deflate=1,     &
    518 &                                        deflate_level=DEF_LEVEL)
     587            call handle_nf90_err(ncret)
     588            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     589&                                        shuffle=0,     &
     590&                                        deflate=1,     &
     591&                                        deflate_level=DEF_LEVEL)
     592            call handle_nf90_err(ncret)
    519593            ncret = nf90_put_var(ncid, ncvarid, &
    520594&                                vvpol(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
     595            call handle_nf90_err(ncret)
    521596
    522597            ncret = nf90_def_var(ncid, 'ww', NF90_FLOAT, &
    523598&                                       dim3dids, ncvarid)
    524             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    525 &                                        shuffle=0,     &
    526 &                                        deflate=1,     &
    527 &                                        deflate_level=DEF_LEVEL)
     599            call handle_nf90_err(ncret)
     600            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     601&                                        shuffle=0,     &
     602&                                        deflate=1,     &
     603&                                        deflate_level=DEF_LEVEL)
     604            call handle_nf90_err(ncret)
    528605            ncret = nf90_put_var(ncid, ncvarid, &
    529606&                                ww(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
     607            call handle_nf90_err(ncret)
    530608
    531609            ncret = nf90_def_var(ncid, 'tt', NF90_FLOAT, &
    532610&                                       dim3dids, ncvarid)
    533             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    534 &                                        shuffle=0,     &
    535 &                                        deflate=1,     &
    536 &                                        deflate_level=DEF_LEVEL)
     611            call handle_nf90_err(ncret)
     612            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     613&                                        shuffle=0,     &
     614&                                        deflate=1,     &
     615&                                        deflate_level=DEF_LEVEL)
     616            call handle_nf90_err(ncret)
    537617            ncret = nf90_put_var(ncid, ncvarid, &
    538618&                                tt(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
     619            call handle_nf90_err(ncret)
    539620
    540621            ncret = nf90_def_var(ncid, 'qv', NF90_FLOAT, &
    541622&                                       dim3dids, ncvarid)
    542             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    543 &                                        shuffle=0,     &
    544 &                                        deflate=1,     &
    545 &                                        deflate_level=DEF_LEVEL)
     623            call handle_nf90_err(ncret)
     624            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     625&                                        shuffle=0,     &
     626&                                        deflate=1,     &
     627&                                        deflate_level=DEF_LEVEL)
     628            call handle_nf90_err(ncret)
    546629            ncret = nf90_put_var(ncid, ncvarid, &
    547630&                                qv(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
     631            call handle_nf90_err(ncret)
    548632
    549633            ncret = nf90_def_var(ncid, 'pv', NF90_FLOAT, &
    550634&                                       dim3dids, ncvarid)
    551             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    552 &                                        shuffle=0,     &
    553 &                                        deflate=1,     &
    554 &                                        deflate_level=DEF_LEVEL)
     635            call handle_nf90_err(ncret)
     636            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     637&                                        shuffle=0,     &
     638&                                        deflate=1,     &
     639&                                        deflate_level=DEF_LEVEL)
     640            call handle_nf90_err(ncret)
    555641            ncret = nf90_put_var(ncid, ncvarid, &
    556642&                                pv(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
     643            call handle_nf90_err(ncret)
    557644
    558645            ncret = nf90_def_var(ncid, 'rho', NF90_FLOAT, &
    559646&                                       dim3dids, ncvarid)
    560             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    561 &                                        shuffle=0,     &
    562 &                                        deflate=1,     &
    563 &                                        deflate_level=DEF_LEVEL)
     647            call handle_nf90_err(ncret)
     648            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     649&                                        shuffle=0,     &
     650&                                        deflate=1,     &
     651&                                        deflate_level=DEF_LEVEL)
     652            call handle_nf90_err(ncret)
    564653            ncret = nf90_put_var(ncid, ncvarid, &
    565654&                                rho(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
     655            call handle_nf90_err(ncret)
    566656
    567657            ncret = nf90_def_var(ncid, 'drhodz', NF90_FLOAT, &
    568658&                                       dim3dids, ncvarid)
    569             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    570 &                                        shuffle=0,     &
    571 &                                        deflate=1,     &
    572 &                                        deflate_level=DEF_LEVEL)
     659            call handle_nf90_err(ncret)
     660            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     661&                                        shuffle=0,     &
     662&                                        deflate=1,     &
     663&                                        deflate_level=DEF_LEVEL)
     664            call handle_nf90_err(ncret)
    573665            ncret = nf90_put_var(ncid, ncvarid, &
    574666&                                drhodz(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
     667            call handle_nf90_err(ncret)
    575668
    576669            ncret = nf90_def_var(ncid, 'clouds', NF90_BYTE, &
    577670&                                       dim3dids, ncvarid)
    578             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    579 &                                        shuffle=0,     &
    580 &                                        deflate=1,     &
    581 &                                        deflate_level=DEF_LEVEL)
     671            call handle_nf90_err(ncret)
     672            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     673&                                        shuffle=0,     &
     674&                                        deflate=1,     &
     675&                                        deflate_level=DEF_LEVEL)
     676            call handle_nf90_err(ncret)
    582677            ncret = nf90_put_var(ncid, ncvarid, &
    583678&                                clouds(0:nxmax-1, 0:nymax-1, 1:nzmax, cm_index))
     679            call handle_nf90_err(ncret)
    584680
    585681
     
    590686            ncret = nf90_def_var(ncid, 'tth', NF90_FLOAT, &
    591687&                                       dim3dids, ncvarid)
    592             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    593 &                                        shuffle=0,     &
    594 &                                        deflate=1,     &
    595 &                                        deflate_level=DEF_LEVEL)
     688            call handle_nf90_err(ncret)
     689            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     690&                                        shuffle=0,     &
     691&                                        deflate=1,     &
     692&                                        deflate_level=DEF_LEVEL)
     693            call handle_nf90_err(ncret)
    596694            ncret = nf90_put_var(ncid, ncvarid, &
    597695&                                tth(0:nxmax-1, 0:nymax-1, 1:nuvzmax, cm_index))
     696            call handle_nf90_err(ncret)
    598697
    599698            ncret = nf90_def_var(ncid, 'qvh', NF90_FLOAT, &
    600699&                                       dim3dids, ncvarid)
    601             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    602 &                                        shuffle=0,     &
    603 &                                        deflate=1,     &
    604 &                                        deflate_level=DEF_LEVEL)
     700            call handle_nf90_err(ncret)
     701            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     702&                                        shuffle=0,     &
     703&                                        deflate=1,     &
     704&                                        deflate_level=DEF_LEVEL)
     705            call handle_nf90_err(ncret)
    605706            ncret = nf90_put_var(ncid, ncvarid, &
    606707&                                qvh(0:nxmax-1, 0:nymax-1, 1:nuvzmax, cm_index))
     708            call handle_nf90_err(ncret)
    607709
    608710            ncret = nf90_def_var(ncid, 'pplev', NF90_FLOAT, &
    609711&                                       dim3dids, ncvarid)
    610             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    611 &                                        shuffle=0,     &
    612 &                                        deflate=1,     &
    613 &                                        deflate_level=DEF_LEVEL)
     712            call handle_nf90_err(ncret)
     713            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     714&                                        shuffle=0,     &
     715&                                        deflate=1,     &
     716&                                        deflate_level=DEF_LEVEL)
     717            call handle_nf90_err(ncret)
    614718            ncret = nf90_put_var(ncid, ncvarid, &
    615719&                                pplev(0:nxmax-1, 0:nymax-1, 1:nuvzmax, cm_index))
     720            call handle_nf90_err(ncret)
    616721
    617722
     
    619724            ncret = nf90_def_var(ncid, 'cloudsh', NF90_INT, &
    620725&                                       dim2dids, ncvarid)
    621             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    622 &                                        shuffle=0,     &
    623 &                                        deflate=1,     &
    624 &                                        deflate_level=DEF_LEVEL)
     726            call handle_nf90_err(ncret)
     727            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     728&                                        shuffle=0,     &
     729&                                        deflate=1,     &
     730&                                        deflate_level=DEF_LEVEL)
     731            call handle_nf90_err(ncret)
    625732            ncret = nf90_put_var(ncid, ncvarid, &
    626733&                                cloudsh(0:nxmax-1, 0:nymax-1, cm_index))
     734            call handle_nf90_err(ncret)
    627735
    628736
     
    662770            ncret = nf90_def_var(ncid, 'ps', NF90_FLOAT, &
    663771&                                       dim2dids, ncvarid)
    664             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    665 &                                        shuffle=0,     &
    666 &                                        deflate=1,     &
    667 &                                        deflate_level=DEF_LEVEL)
     772            call handle_nf90_err(ncret)
     773            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     774&                                        shuffle=0,     &
     775&                                        deflate=1,     &
     776&                                        deflate_level=DEF_LEVEL)
     777            call handle_nf90_err(ncret)
    668778            ncret = nf90_put_var(ncid, ncvarid, &
    669779&                                ps(0:nxmax-1, 0:nymax-1, 1, cm_index))
     780            call handle_nf90_err(ncret)
    670781
    671782            ncret = nf90_def_var(ncid, 'sd', NF90_FLOAT, &
    672783&                                       dim2dids, ncvarid)
    673             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    674 &                                        shuffle=0,     &
    675 &                                        deflate=1,     &
    676 &                                        deflate_level=DEF_LEVEL)
     784            call handle_nf90_err(ncret)
     785            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     786&                                        shuffle=0,     &
     787&                                        deflate=1,     &
     788&                                        deflate_level=DEF_LEVEL)
     789            call handle_nf90_err(ncret)
    677790            ncret = nf90_put_var(ncid, ncvarid, &
    678791&                                sd(0:nxmax-1, 0:nymax-1, 1, cm_index))
     792            call handle_nf90_err(ncret)
    679793
    680794            ncret = nf90_def_var(ncid, 'msl', NF90_FLOAT, &
    681795&                                       dim2dids, ncvarid)
    682             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    683 &                                        shuffle=0,     &
    684 &                                        deflate=1,     &
    685 &                                        deflate_level=DEF_LEVEL)
     796            call handle_nf90_err(ncret)
     797            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     798&                                        shuffle=0,     &
     799&                                        deflate=1,     &
     800&                                        deflate_level=DEF_LEVEL)
     801            call handle_nf90_err(ncret)
    686802            ncret = nf90_put_var(ncid, ncvarid, &
    687803&                                msl(0:nxmax-1, 0:nymax-1, 1, cm_index))
     804            call handle_nf90_err(ncret)
    688805
    689806            ncret = nf90_def_var(ncid, 'tcc', NF90_FLOAT, &
    690807&                                       dim2dids, ncvarid)
    691             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    692 &                                        shuffle=0,     &
    693 &                                        deflate=1,     &
    694 &                                        deflate_level=DEF_LEVEL)
     808            call handle_nf90_err(ncret)
     809            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     810&                                        shuffle=0,     &
     811&                                        deflate=1,     &
     812&                                        deflate_level=DEF_LEVEL)
     813            call handle_nf90_err(ncret)
    695814            ncret = nf90_put_var(ncid, ncvarid, &
    696815&                                tcc(0:nxmax-1, 0:nymax-1, 1, cm_index))
     816            call handle_nf90_err(ncret)
    697817
    698818            ncret = nf90_def_var(ncid, 'u10', NF90_FLOAT, &
    699819&                                       dim2dids, ncvarid)
    700             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    701 &                                        shuffle=0,     &
    702 &                                        deflate=1,     &
    703 &                                        deflate_level=DEF_LEVEL)
     820            call handle_nf90_err(ncret)
     821            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     822&                                        shuffle=0,     &
     823&                                        deflate=1,     &
     824&                                        deflate_level=DEF_LEVEL)
     825            call handle_nf90_err(ncret)
    704826            ncret = nf90_put_var(ncid, ncvarid, &
    705827&                                u10(0:nxmax-1, 0:nymax-1, 1, cm_index))
     828            call handle_nf90_err(ncret)
    706829
    707830            ncret = nf90_def_var(ncid, 'v10', NF90_FLOAT, &
    708831&                                       dim2dids, ncvarid)
    709             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    710 &                                        shuffle=0,     &
    711 &                                        deflate=1,     &
    712 &                                        deflate_level=DEF_LEVEL)
     832            call handle_nf90_err(ncret)
     833            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     834&                                        shuffle=0,     &
     835&                                        deflate=1,     &
     836&                                        deflate_level=DEF_LEVEL)
     837            call handle_nf90_err(ncret)
    713838            ncret = nf90_put_var(ncid, ncvarid, &
    714839&                                v10(0:nxmax-1, 0:nymax-1, 1, cm_index))
     840            call handle_nf90_err(ncret)
    715841
    716842            ncret = nf90_def_var(ncid, 'tt2', NF90_FLOAT, &
    717843&                                       dim2dids, ncvarid)
    718             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    719 &                                        shuffle=0,     &
    720 &                                        deflate=1,     &
    721 &                                        deflate_level=DEF_LEVEL)
     844            call handle_nf90_err(ncret)
     845            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     846&                                        shuffle=0,     &
     847&                                        deflate=1,     &
     848&                                        deflate_level=DEF_LEVEL)
     849            call handle_nf90_err(ncret)
    722850            ncret = nf90_put_var(ncid, ncvarid, &
    723851&                                tt2(0:nxmax-1, 0:nymax-1, 1, cm_index))
     852            call handle_nf90_err(ncret)
    724853
    725854            ncret = nf90_def_var(ncid, 'td2', NF90_FLOAT, &
    726855&                                       dim2dids, ncvarid)
    727             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    728 &                                        shuffle=0,     &
    729 &                                        deflate=1,     &
    730 &                                        deflate_level=DEF_LEVEL)
     856            call handle_nf90_err(ncret)
     857            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     858&                                        shuffle=0,     &
     859&                                        deflate=1,     &
     860&                                        deflate_level=DEF_LEVEL)
     861            call handle_nf90_err(ncret)
    731862            ncret = nf90_put_var(ncid, ncvarid, &
    732863&                                td2(0:nxmax-1, 0:nymax-1, 1, cm_index))
     864            call handle_nf90_err(ncret)
    733865
    734866            ncret = nf90_def_var(ncid, 'lsprec', NF90_FLOAT, &
    735867&                                       dim2dids, ncvarid)
    736             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    737 &                                        shuffle=0,     &
    738 &                                        deflate=1,     &
    739 &                                        deflate_level=DEF_LEVEL)
     868            call handle_nf90_err(ncret)
     869            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     870&                                        shuffle=0,     &
     871&                                        deflate=1,     &
     872&                                        deflate_level=DEF_LEVEL)
     873            call handle_nf90_err(ncret)
    740874            ncret = nf90_put_var(ncid, ncvarid, &
    741875&                                lsprec(0:nxmax-1, 0:nymax-1, 1, cm_index))
     876            call handle_nf90_err(ncret)
    742877
    743878            ncret = nf90_def_var(ncid, 'convprec', NF90_FLOAT, &
    744879&                                       dim2dids, ncvarid)
    745             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    746 &                                        shuffle=0,     &
    747 &                                        deflate=1,     &
    748 &                                        deflate_level=DEF_LEVEL)
     880            call handle_nf90_err(ncret)
     881            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     882&                                        shuffle=0,     &
     883&                                        deflate=1,     &
     884&                                        deflate_level=DEF_LEVEL)
     885            call handle_nf90_err(ncret)
    749886            ncret = nf90_put_var(ncid, ncvarid, &
    750887&                                convprec(0:nxmax-1, 0:nymax-1, 1, cm_index))
     888            call handle_nf90_err(ncret)
    751889
    752890            ncret = nf90_def_var(ncid, 'sshf', NF90_FLOAT, &
    753891&                                       dim2dids, ncvarid)
    754             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    755 &                                        shuffle=0,     &
    756 &                                        deflate=1,     &
    757 &                                        deflate_level=DEF_LEVEL)
     892            call handle_nf90_err(ncret)
     893            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     894&                                        shuffle=0,     &
     895&                                        deflate=1,     &
     896&                                        deflate_level=DEF_LEVEL)
     897            call handle_nf90_err(ncret)
    758898            ncret = nf90_put_var(ncid, ncvarid, &
    759899&                                sshf(0:nxmax-1, 0:nymax-1, 1, cm_index))
     900            call handle_nf90_err(ncret)
    760901
    761902            ncret = nf90_def_var(ncid, 'ssr', NF90_FLOAT, &
    762903&                                       dim2dids, ncvarid)
    763             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    764 &                                        shuffle=0,     &
    765 &                                        deflate=1,     &
    766 &                                        deflate_level=DEF_LEVEL)
     904            call handle_nf90_err(ncret)
     905            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     906&                                        shuffle=0,     &
     907&                                        deflate=1,     &
     908&                                        deflate_level=DEF_LEVEL)
     909            call handle_nf90_err(ncret)
    767910            ncret = nf90_put_var(ncid, ncvarid, &
    768911&                                ssr(0:nxmax-1, 0:nymax-1, 1, cm_index))
     912            call handle_nf90_err(ncret)
    769913
    770914            ncret = nf90_def_var(ncid, 'surfstr', NF90_FLOAT, &
    771915&                                       dim2dids, ncvarid)
    772             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    773 &                                        shuffle=0,     &
    774 &                                        deflate=1,     &
    775 &                                        deflate_level=DEF_LEVEL)
     916            call handle_nf90_err(ncret)
     917            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     918&                                        shuffle=0,     &
     919&                                        deflate=1,     &
     920&                                        deflate_level=DEF_LEVEL)
     921            call handle_nf90_err(ncret)
    776922            ncret = nf90_put_var(ncid, ncvarid, &
    777923&                                surfstr(0:nxmax-1, 0:nymax-1, 1, cm_index))
     924            call handle_nf90_err(ncret)
    778925
    779926            ncret = nf90_def_var(ncid, 'ustar', NF90_FLOAT, &
    780927&                                       dim2dids, ncvarid)
    781             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    782 &                                        shuffle=0,     &
    783 &                                        deflate=1,     &
    784 &                                        deflate_level=DEF_LEVEL)
     928            call handle_nf90_err(ncret)
     929            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     930&                                        shuffle=0,     &
     931&                                        deflate=1,     &
     932&                                        deflate_level=DEF_LEVEL)
     933            call handle_nf90_err(ncret)
    785934            ncret = nf90_put_var(ncid, ncvarid, &
    786935&                                ustar(0:nxmax-1, 0:nymax-1, 1, cm_index))
     936            call handle_nf90_err(ncret)
    787937
    788938            ncret = nf90_def_var(ncid, 'wstar', NF90_FLOAT, &
    789939&                                       dim2dids, ncvarid)
    790             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    791 &                                        shuffle=0,     &
    792 &                                        deflate=1,     &
    793 &                                        deflate_level=DEF_LEVEL)
     940            call handle_nf90_err(ncret)
     941            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     942&                                        shuffle=0,     &
     943&                                        deflate=1,     &
     944&                                        deflate_level=DEF_LEVEL)
     945            call handle_nf90_err(ncret)
    794946            ncret = nf90_put_var(ncid, ncvarid, &
    795947&                                wstar(0:nxmax-1, 0:nymax-1, 1, cm_index))
     948            call handle_nf90_err(ncret)
    796949
    797950            ncret = nf90_def_var(ncid, 'hmix', NF90_FLOAT, &
    798951&                                       dim2dids, ncvarid)
    799             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    800 &                                        shuffle=0,     &
    801 &                                        deflate=1,     &
    802 &                                        deflate_level=DEF_LEVEL)
     952            call handle_nf90_err(ncret)
     953            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     954&                                        shuffle=0,     &
     955&                                        deflate=1,     &
     956&                                        deflate_level=DEF_LEVEL)
     957            call handle_nf90_err(ncret)
    803958            ncret = nf90_put_var(ncid, ncvarid, &
    804959&                                hmix(0:nxmax-1, 0:nymax-1, 1, cm_index))
     960            call handle_nf90_err(ncret)
    805961
    806962            ncret = nf90_def_var(ncid, 'tropopause', NF90_FLOAT, &
    807963&                                       dim2dids, ncvarid)
    808             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    809 &                                        shuffle=0,     &
    810 &                                        deflate=1,     &
    811 &                                        deflate_level=DEF_LEVEL)
     964            call handle_nf90_err(ncret)
     965            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     966&                                        shuffle=0,     &
     967&                                        deflate=1,     &
     968&                                        deflate_level=DEF_LEVEL)
     969            call handle_nf90_err(ncret)
    812970            ncret = nf90_put_var(ncid, ncvarid, &
    813971&                                tropopause(0:nxmax-1, 0:nymax-1, 1, cm_index))
     972            call handle_nf90_err(ncret)
    814973
    815974            ncret = nf90_def_var(ncid, 'oli', NF90_FLOAT, &
    816975&                                       dim2dids, ncvarid)
    817             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    818 &                                        shuffle=0,     &
    819 &                                        deflate=1,     &
    820 &                                        deflate_level=DEF_LEVEL)
     976            call handle_nf90_err(ncret)
     977            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     978&                                        shuffle=0,     &
     979&                                        deflate=1,     &
     980&                                        deflate_level=DEF_LEVEL)
     981            call handle_nf90_err(ncret)
    821982            ncret = nf90_put_var(ncid, ncvarid, &
    822983&                                oli(0:nxmax-1, 0:nymax-1, 1, cm_index))
     984            call handle_nf90_err(ncret)
    823985
    824986            ncret = nf90_def_var(ncid, 'diffk', NF90_FLOAT, &
    825987&                                       dim2dids, ncvarid)
    826             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    827 &                                        shuffle=0,     &
    828 &                                        deflate=1,     &
    829 &                                        deflate_level=DEF_LEVEL)
     988            call handle_nf90_err(ncret)
     989            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     990&                                        shuffle=0,     &
     991&                                        deflate=1,     &
     992&                                        deflate_level=DEF_LEVEL)
     993            call handle_nf90_err(ncret)
    830994            ncret = nf90_put_var(ncid, ncvarid, &
    831995&                                diffk(0:nxmax-1, 0:nymax-1, 1, cm_index))
     996            call handle_nf90_err(ncret)
    832997
    833998
     
    8441009            ncret = nf90_def_var(ncid, 'vdep', NF90_FLOAT, &
    8451010&                                       dim3dids, ncvarid)
    846             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    847 &                                        shuffle=0,     &
    848 &                                        deflate=1,     &
    849 &                                        deflate_level=DEF_LEVEL)
     1011            call handle_nf90_err(ncret)
     1012            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1013&                                        shuffle=0,     &
     1014&                                        deflate=1,     &
     1015&                                        deflate_level=DEF_LEVEL)
     1016            call handle_nf90_err(ncret)
    8501017            ncret = nf90_put_var(ncid, ncvarid, &
    8511018&                                vdep(0:nxmax-1, 0:nymax-1, 1:maxspec, cm_index))
     1019            call handle_nf90_err(ncret)
    8521020
    8531021
     
    8781046            ncret = nf90_def_var(ncid, 'akm', NF90_FLOAT, &
    8791047&                                       dim1dids, ncvarid)
    880             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    881 &                                        shuffle=0,     &
    882 &                                        deflate=1,     &
    883 &                                        deflate_level=DEF_LEVEL)
     1048            call handle_nf90_err(ncret)
     1049            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1050&                                        shuffle=0,     &
     1051&                                        deflate=1,     &
     1052&                                        deflate_level=DEF_LEVEL)
     1053            call handle_nf90_err(ncret)
    8841054            ncret = nf90_put_var(ncid, ncvarid, &
    8851055&                                akm(1:nwzmax))
     1056            call handle_nf90_err(ncret)
    8861057
    8871058            ncret = nf90_def_var(ncid, 'bkm', NF90_FLOAT, &
    8881059&                                       dim1dids, ncvarid)
    889             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    890 &                                        shuffle=0,     &
    891 &                                        deflate=1,     &
    892 &                                        deflate_level=DEF_LEVEL)
     1060            call handle_nf90_err(ncret)
     1061            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1062&                                        shuffle=0,     &
     1063&                                        deflate=1,     &
     1064&                                        deflate_level=DEF_LEVEL)
     1065            call handle_nf90_err(ncret)
    8931066            ncret = nf90_put_var(ncid, ncvarid, &
    8941067&                                bkm(1:nwzmax))
     1068            call handle_nf90_err(ncret)
    8951069
    8961070
     
    8991073            ncret = nf90_def_var(ncid, 'akz', NF90_FLOAT, &
    9001074&                                       dim1dids, ncvarid)
    901             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    902 &                                        shuffle=0,     &
    903 &                                        deflate=1,     &
    904 &                                        deflate_level=DEF_LEVEL)
     1075            call handle_nf90_err(ncret)
     1076            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1077&                                        shuffle=0,     &
     1078&                                        deflate=1,     &
     1079&                                        deflate_level=DEF_LEVEL)
     1080            call handle_nf90_err(ncret)
    9051081            ncret = nf90_put_var(ncid, ncvarid, &
    9061082&                                akz(1:nuvzmax))
     1083            call handle_nf90_err(ncret)
    9071084
    9081085            ncret = nf90_def_var(ncid, 'bkz', NF90_FLOAT, &
    9091086&                                       dim1dids, ncvarid)
    910             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    911 &                                        shuffle=0,     &
    912 &                                        deflate=1,     &
    913 &                                        deflate_level=DEF_LEVEL)
     1087            call handle_nf90_err(ncret)
     1088            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1089&                                        shuffle=0,     &
     1090&                                        deflate=1,     &
     1091&                                        deflate_level=DEF_LEVEL)
     1092            call handle_nf90_err(ncret)
    9141093            ncret = nf90_put_var(ncid, ncvarid, &
    9151094&                                bkz(1:nuvzmax))
     1095            call handle_nf90_err(ncret)
    9161096
    9171097
     
    9201100            ncret = nf90_def_var(ncid, 'aknew', NF90_FLOAT, &
    9211101&                                       dim1dids, ncvarid)
    922             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    923 &                                        shuffle=0,     &
    924 &                                        deflate=1,     &
    925 &                                        deflate_level=DEF_LEVEL)
     1102            call handle_nf90_err(ncret)
     1103            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1104&                                        shuffle=0,     &
     1105&                                        deflate=1,     &
     1106&                                        deflate_level=DEF_LEVEL)
     1107            call handle_nf90_err(ncret)
    9261108            ncret = nf90_put_var(ncid, ncvarid, &
    9271109&                                aknew(1:nzmax))
     1110            call handle_nf90_err(ncret)
    9281111
    9291112            ncret = nf90_def_var(ncid, 'bknew', NF90_FLOAT, &
    9301113&                                       dim1dids, ncvarid)
    931             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    932 &                                        shuffle=0,     &
    933 &                                        deflate=1,     &
    934 &                                        deflate_level=DEF_LEVEL)
     1114            call handle_nf90_err(ncret)
     1115            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1116&                                        shuffle=0,     &
     1117&                                        deflate=1,     &
     1118&                                        deflate_level=DEF_LEVEL)
     1119            call handle_nf90_err(ncret)
    9351120            ncret = nf90_put_var(ncid, ncvarid, &
    9361121&                                bknew(1:nzmax))
     1122            call handle_nf90_err(ncret)
    9371123
    9381124
     
    9481134            ! information to provide the structure of arrays
    9491135            ncret = nf90_def_dim(ncid, 'maxnests', maxnests, maxnests_dimid)
     1136            call handle_nf90_err(ncret)
    9501137            ncret = nf90_def_dim(ncid, 'nxmaxn', nxmaxn, nxmaxn_dimid)
     1138            call handle_nf90_err(ncret)
    9511139            ncret = nf90_def_dim(ncid, 'nymaxn', nymaxn, nymaxn_dimid)
     1140            call handle_nf90_err(ncret)
    9521141
    9531142            WRITE(iounit) nxn(:)
     
    9641153            ncret = nf90_def_var(ncid, 'nxn', NF90_INT, &
    9651154&                                       dim1dids, ncvarid)
    966             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    967 &                                        shuffle=0,     &
    968 &                                        deflate=1,     &
    969 &                                        deflate_level=DEF_LEVEL)
     1155            call handle_nf90_err(ncret)
     1156            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1157&                                        shuffle=0,     &
     1158&                                        deflate=1,     &
     1159&                                        deflate_level=DEF_LEVEL)
     1160            call handle_nf90_err(ncret)
    9701161            ncret = nf90_put_var(ncid, ncvarid, &
    9711162&                                nxn(1:maxnests))
     1163            call handle_nf90_err(ncret)
    9721164
    9731165            ncret = nf90_def_var(ncid, 'nyn', NF90_INT, &
    9741166&                                       dim1dids, ncvarid)
    975             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    976 &                                        shuffle=0,     &
    977 &                                        deflate=1,     &
    978 &                                        deflate_level=DEF_LEVEL)
     1167            call handle_nf90_err(ncret)
     1168            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1169&                                        shuffle=0,     &
     1170&                                        deflate=1,     &
     1171&                                        deflate_level=DEF_LEVEL)
     1172            call handle_nf90_err(ncret)
    9791173            ncret = nf90_put_var(ncid, ncvarid, &
    9801174&                                nyn(1:maxnests))
     1175            call handle_nf90_err(ncret)
    9811176
    9821177            ncret = nf90_def_var(ncid, 'dxn', NF90_FLOAT, &
    9831178&                                       dim1dids, ncvarid)
    984             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    985 &                                        shuffle=0,     &
    986 &                                        deflate=1,     &
    987 &                                        deflate_level=DEF_LEVEL)
     1179            call handle_nf90_err(ncret)
     1180            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1181&                                        shuffle=0,     &
     1182&                                        deflate=1,     &
     1183&                                        deflate_level=DEF_LEVEL)
     1184            call handle_nf90_err(ncret)
    9881185            ncret = nf90_put_var(ncid, ncvarid, &
    9891186&                                dxn(1:maxnests))
     1187            call handle_nf90_err(ncret)
    9901188
    9911189            ncret = nf90_def_var(ncid, 'dyn', NF90_FLOAT, &
    9921190&                                       dim1dids, ncvarid)
    993             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    994 &                                        shuffle=0,     &
    995 &                                        deflate=1,     &
    996 &                                        deflate_level=DEF_LEVEL)
     1191            call handle_nf90_err(ncret)
     1192            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1193&                                        shuffle=0,     &
     1194&                                        deflate=1,     &
     1195&                                        deflate_level=DEF_LEVEL)
     1196            call handle_nf90_err(ncret)
    9971197            ncret = nf90_put_var(ncid, ncvarid, &
    9981198&                                dyn(1:maxnests))
     1199            call handle_nf90_err(ncret)
    9991200
    10001201            ncret = nf90_def_var(ncid, 'xlon0n', NF90_FLOAT, &
    10011202&                                       dim1dids, ncvarid)
    1002             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    1003 &                                        shuffle=0,     &
    1004 &                                        deflate=1,     &
    1005 &                                        deflate_level=DEF_LEVEL)
     1203            call handle_nf90_err(ncret)
     1204            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1205&                                        shuffle=0,     &
     1206&                                        deflate=1,     &
     1207&                                        deflate_level=DEF_LEVEL)
     1208            call handle_nf90_err(ncret)
    10061209            ncret = nf90_put_var(ncid, ncvarid, &
    10071210&                                xlon0n(1:maxnests))
     1211            call handle_nf90_err(ncret)
    10081212
    10091213            ncret = nf90_def_var(ncid, 'ylat0n', NF90_FLOAT, &
    10101214&                                       dim1dids, ncvarid)
    1011             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    1012 &                                        shuffle=0,     &
    1013 &                                        deflate=1,     &
    1014 &                                        deflate_level=DEF_LEVEL)
     1215            call handle_nf90_err(ncret)
     1216            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1217&                                        shuffle=0,     &
     1218&                                        deflate=1,     &
     1219&                                        deflate_level=DEF_LEVEL)
     1220            call handle_nf90_err(ncret)
    10151221            ncret = nf90_put_var(ncid, ncvarid, &
    10161222&                                ylat0n(1:maxnests))
     1223            call handle_nf90_err(ncret)
    10171224
    10181225
     
    10261233            ncret = nf90_def_var(ncid, 'oron', NF90_FLOAT, &
    10271234&                                       dim3dids, ncvarid)
    1028             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    1029 &                                        shuffle=0,     &
    1030 &                                        deflate=1,     &
    1031 &                                        deflate_level=DEF_LEVEL)
     1235            call handle_nf90_err(ncret)
     1236            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1237&                                        shuffle=0,     &
     1238&                                        deflate=1,     &
     1239&                                        deflate_level=DEF_LEVEL)
     1240            call handle_nf90_err(ncret)
    10321241            ncret = nf90_put_var(ncid, ncvarid, &
    10331242&                                oron(0:nxmaxn-1, 0:nymaxn-1, 1:maxnests))
     1243            call handle_nf90_err(ncret)
    10341244
    10351245            ncret = nf90_def_var(ncid, 'excessoron', NF90_FLOAT, &
    10361246&                                       dim3dids, ncvarid)
    1037             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    1038 &                                        shuffle=0,     &
    1039 &                                        deflate=1,     &
    1040 &                                        deflate_level=DEF_LEVEL)
     1247            call handle_nf90_err(ncret)
     1248            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1249&                                        shuffle=0,     &
     1250&                                        deflate=1,     &
     1251&                                        deflate_level=DEF_LEVEL)
     1252            call handle_nf90_err(ncret)
    10411253            ncret = nf90_put_var(ncid, ncvarid, &
    10421254&                                excessoron(0:nxmaxn-1, 0:nymaxn-1, 1:maxnests))
     1255            call handle_nf90_err(ncret)
    10431256
    10441257            ncret = nf90_def_var(ncid, 'lsmn', NF90_FLOAT, &
    10451258&                                       dim3dids, ncvarid)
    1046             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    1047 &                                        shuffle=0,     &
    1048 &                                        deflate=1,     &
    1049 &                                        deflate_level=DEF_LEVEL)
     1259            call handle_nf90_err(ncret)
     1260            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1261&                                        shuffle=0,     &
     1262&                                        deflate=1,     &
     1263&                                        deflate_level=DEF_LEVEL)
     1264            call handle_nf90_err(ncret)
    10501265            ncret = nf90_put_var(ncid, ncvarid, &
    10511266&                                lsmn(0:nxmaxn-1, 0:nymaxn-1, 1:maxnests))
     1267            call handle_nf90_err(ncret)
    10521268
    10531269            dim4dids = (/nxmaxn_dimid, nymaxn_dimid, numclass_dimid, maxnests_dimid/)
     
    10551271            ncret = nf90_def_var(ncid, 'xlandusen', NF90_FLOAT, &
    10561272&                                       dim4dids, ncvarid)
    1057             ncret = nf90_def_var_deflate(ncid, ncvarid,   &
    1058 &                                        shuffle=0,     &
    1059 &                                        deflate=1,     &
    1060 &                                        deflate_level=DEF_LEVEL)
     1273            call handle_nf90_err(ncret)
     1274            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1275&                                        shuffle=0,     &
     1276&                                        deflate=1,     &
     1277&                                        deflate_level=DEF_LEVEL)
     1278            call handle_nf90_err(ncret)
    10611279            ncret = nf90_put_var(ncid, ncvarid, &
    10621280&                                xlandusen(0:nxmaxn-1, 0:nymaxn-1, 1:numclass, 1:maxnests))
    1063 
    1064             PRINT *, 'SUM(xlandusen): ', &
    1065 &                                        SUM(xlandusen)
     1281            call handle_nf90_err(ncret)
     1282
     1283            PRINT *, 'SUM(oron): ', SUM(oron)
    10661284
    10671285
     
    10801298            WRITE(iounit) tthn(:,:,:,cm_index,:)
    10811299            WRITE(iounit) qvhn(:,:,:,cm_index,:)
     1300
     1301
     1302            dim4dids = (/nxmaxn_dimid, nymaxn_dimid, nzmax_dimid, maxnests_dimid/)
     1303
     1304            ncret = nf90_def_var(ncid, 'uun', NF90_FLOAT, &
     1305&                                       dim4dids, ncvarid)
     1306            call handle_nf90_err(ncret)
     1307            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1308&                                        shuffle=0,     &
     1309&                                        deflate=1,     &
     1310&                                        deflate_level=DEF_LEVEL)
     1311            call handle_nf90_err(ncret)
     1312            ncret = nf90_put_var(ncid, ncvarid, &
     1313&                                uun(0:nxmaxn-1, 0:nymaxn-1, 1:nzmax, cm_index, 1:maxnests))
     1314            call handle_nf90_err(ncret)
     1315
     1316            ncret = nf90_def_var(ncid, 'vvn', NF90_FLOAT, &
     1317&                                       dim4dids, ncvarid)
     1318            call handle_nf90_err(ncret)
     1319            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1320&                                        shuffle=0,     &
     1321&                                        deflate=1,     &
     1322&                                        deflate_level=DEF_LEVEL)
     1323            call handle_nf90_err(ncret)
     1324            ncret = nf90_put_var(ncid, ncvarid, &
     1325&                                vvn(0:nxmaxn-1, 0:nymaxn-1, 1:nzmax, cm_index, 1:maxnests))
     1326            call handle_nf90_err(ncret)
     1327
     1328            ncret = nf90_def_var(ncid, 'wwn', NF90_FLOAT, &
     1329&                                       dim4dids, ncvarid)
     1330            call handle_nf90_err(ncret)
     1331            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1332&                                        shuffle=0,     &
     1333&                                        deflate=1,     &
     1334&                                        deflate_level=DEF_LEVEL)
     1335            call handle_nf90_err(ncret)
     1336            ncret = nf90_put_var(ncid, ncvarid, &
     1337&                                wwn(0:nxmaxn-1, 0:nymaxn-1, 1:nzmax, cm_index, 1:maxnests))
     1338            call handle_nf90_err(ncret)
     1339
     1340            ncret = nf90_def_var(ncid, 'ttn', NF90_FLOAT, &
     1341&                                       dim4dids, ncvarid)
     1342            call handle_nf90_err(ncret)
     1343            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1344&                                        shuffle=0,     &
     1345&                                        deflate=1,     &
     1346&                                        deflate_level=DEF_LEVEL)
     1347            call handle_nf90_err(ncret)
     1348            ncret = nf90_put_var(ncid, ncvarid, &
     1349&                                ttn(0:nxmaxn-1, 0:nymaxn-1, 1:nzmax, cm_index, 1:maxnests))
     1350            call handle_nf90_err(ncret)
     1351
     1352            ncret = nf90_def_var(ncid, 'qvn', NF90_FLOAT, &
     1353&                                       dim4dids, ncvarid)
     1354            call handle_nf90_err(ncret)
     1355            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1356&                                        shuffle=0,     &
     1357&                                        deflate=1,     &
     1358&                                        deflate_level=DEF_LEVEL)
     1359            call handle_nf90_err(ncret)
     1360            ncret = nf90_put_var(ncid, ncvarid, &
     1361&                                qvn(0:nxmaxn-1, 0:nymaxn-1, 1:nzmax, cm_index, 1:maxnests))
     1362            call handle_nf90_err(ncret)
     1363
     1364            ncret = nf90_def_var(ncid, 'pvn', NF90_FLOAT, &
     1365&                                       dim4dids, ncvarid)
     1366            call handle_nf90_err(ncret)
     1367            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1368&                                        shuffle=0,     &
     1369&                                        deflate=1,     &
     1370&                                        deflate_level=DEF_LEVEL)
     1371            call handle_nf90_err(ncret)
     1372            ncret = nf90_put_var(ncid, ncvarid, &
     1373&                                pvn(0:nxmaxn-1, 0:nymaxn-1, 1:nzmax, cm_index, 1:maxnests))
     1374            call handle_nf90_err(ncret)
     1375
     1376            ncret = nf90_def_var(ncid, 'rhon', NF90_FLOAT, &
     1377&                                       dim4dids, ncvarid)
     1378            call handle_nf90_err(ncret)
     1379            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1380&                                        shuffle=0,     &
     1381&                                        deflate=1,     &
     1382&                                        deflate_level=DEF_LEVEL)
     1383            call handle_nf90_err(ncret)
     1384            ncret = nf90_put_var(ncid, ncvarid, &
     1385&                                rhon(0:nxmaxn-1, 0:nymaxn-1, 1:nzmax, cm_index, 1:maxnests))
     1386            call handle_nf90_err(ncret)
     1387
     1388            ncret = nf90_def_var(ncid, 'drhodzn', NF90_FLOAT, &
     1389&                                       dim4dids, ncvarid)
     1390            call handle_nf90_err(ncret)
     1391            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1392&                                        shuffle=0,     &
     1393&                                        deflate=1,     &
     1394&                                        deflate_level=DEF_LEVEL)
     1395            call handle_nf90_err(ncret)
     1396            ncret = nf90_put_var(ncid, ncvarid, &
     1397&                                drhodzn(0:nxmaxn-1, 0:nymaxn-1, 1:nzmax, cm_index, 1:maxnests))
     1398            call handle_nf90_err(ncret)
     1399
     1400
     1401            ! Note the new dimensions
     1402            dim4dids = (/nxmaxn_dimid, nymaxn_dimid, nuvzmax_dimid, maxnests_dimid/)
     1403
     1404            ncret = nf90_def_var(ncid, 'tthn', NF90_FLOAT, &
     1405&                                       dim4dids, ncvarid)
     1406            call handle_nf90_err(ncret)
     1407            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1408&                                        shuffle=0,     &
     1409&                                        deflate=1,     &
     1410&                                        deflate_level=DEF_LEVEL)
     1411            call handle_nf90_err(ncret)
     1412            ncret = nf90_put_var(ncid, ncvarid, &
     1413&                                tthn(0:nxmaxn-1, 0:nymaxn-1, 1:nuvzmax, cm_index, 1:maxnests))
     1414            call handle_nf90_err(ncret)
     1415
     1416            ncret = nf90_def_var(ncid, 'qvhn', NF90_FLOAT, &
     1417&                                       dim4dids, ncvarid)
     1418            call handle_nf90_err(ncret)
     1419            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1420&                                        shuffle=0,     &
     1421&                                        deflate=1,     &
     1422&                                        deflate_level=DEF_LEVEL)
     1423            call handle_nf90_err(ncret)
     1424            ncret = nf90_put_var(ncid, ncvarid, &
     1425&                                qvhn(0:nxmaxn-1, 0:nymaxn-1, 1:nuvzmax, cm_index, 1:maxnests))
     1426            call handle_nf90_err(ncret)
     1427
     1428            ! Note the new dimensions
     1429            dim4dids = (/nxmaxn_dimid, nymaxn_dimid, zero_to_nzmax_dimid, maxnests_dimid/)
     1430
     1431            ncret = nf90_def_var(ncid, 'cloudsn', NF90_INT, &
     1432&                                       dim4dids, ncvarid)
     1433            call handle_nf90_err(ncret)
     1434            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1435&                                        shuffle=0,     &
     1436&                                        deflate=1,     &
     1437&                                        deflate_level=DEF_LEVEL)
     1438            call handle_nf90_err(ncret)
     1439            ncret = nf90_put_var(ncid, ncvarid, &
     1440&                                cloudsn(0:nxmaxn-1, 0:nymaxn-1, 0:nzmax, cm_index, 1:maxnests))
     1441            call handle_nf90_err(ncret)
     1442
     1443            ! Note the new dimensions
     1444            dim3dids = (/nxmaxn_dimid, nymaxn_dimid, maxnests_dimid/)
     1445
     1446            ncret = nf90_def_var(ncid, 'cloudsnh', NF90_INT, &
     1447&                                       dim3dids, ncvarid)
     1448            call handle_nf90_err(ncret)
     1449            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1450&                                        shuffle=0,     &
     1451&                                        deflate=1,     &
     1452&                                        deflate_level=DEF_LEVEL)
     1453            call handle_nf90_err(ncret)
     1454            ncret = nf90_put_var(ncid, ncvarid, &
     1455&                                cloudsnh(0:nxmaxn-1, 0:nymaxn-1, cm_index, 1:maxnests))
     1456            call handle_nf90_err(ncret)
     1457
     1458
     1459
     1460
     1461
     1462
     1463
     1464
     1465
     1466            PRINT *, 'SUM(uun): ', SUM(uun(:,:,:,cm_index,:))
     1467            PRINT *, 'SUM(qvhn): ', SUM(qvhn(:,:,:,cm_index,:))
     1468            PRINT *, 'SUM(cloudsn): ', SUM(cloudsn(:,:,:,cm_index,:))
     1469
     1470
    10821471
    10831472            ! 2d nested fields
     
    11031492            WRITE(iounit) vdepn(:,:,:,cm_index,:)
    11041493
     1494            dim3dids = (/nxmax_dimid, nymax_dimid, maxnests_dimid/)
     1495
     1496            ncret = nf90_def_var(ncid, 'psn', NF90_FLOAT, &
     1497&                                       dim3dids, ncvarid)
     1498            call handle_nf90_err(ncret)
     1499            ncret = nf90_def_var_deflate(ncid, ncvarid,   &
     1500&                                        shuffle=0,     &
     1501&                                        deflate=1,     &
     1502&                                        deflate_level=DEF_LEVEL)
     1503            call handle_nf90_err(ncret)
     1504            ncret = nf90_put_var(ncid, ncvarid, &
     1505&                                psn(0:nxmaxn-1, 0:nymaxn-1, 1, cm_index, 1:maxnests))
     1506            call handle_nf90_err(ncret)
     1507
     1508
     1509
     1510
     1511
     1512
     1513            PRINT *, 'SUM(psn): ', SUM(psn(:,:,:,cm_index,:))
     1514
     1515
     1516
     1517
     1518
     1519
     1520
    11051521            ! Auxiliary variables for nests
    11061522            WRITE(iounit) xresoln(:)
     
    11651581            ! Get dimensions
    11661582            ncret = nf90_inq_dimid(ncid, 'nxmax', nxmax_dimid)
     1583            call handle_nf90_err(ncret)
    11671584            ncret = nf90_inquire_dimension(ncid, nxmax_dimid, nxmax_dimname, &
    11681585&                                                temp_nxmax)
     1586            call handle_nf90_err(ncret)
    11691587            PRINT *, 'temp_nxmax: ', temp_nxmax
    11701588
    11711589            ncret = nf90_inq_dimid(ncid, 'nymax', nymax_dimid)
     1590            call handle_nf90_err(ncret)
    11721591            ncret = nf90_inquire_dimension(ncid, nymax_dimid, nymax_dimname, &
    11731592&                                                temp_nymax)
     1593            call handle_nf90_err(ncret)
    11741594            PRINT *, 'temp_nymax: ', temp_nymax
    11751595
    11761596            ncret = nf90_inq_dimid(ncid, 'nzmax', nzmax_dimid)
     1597            call handle_nf90_err(ncret)
    11771598            ncret = nf90_inquire_dimension(ncid, nzmax_dimid, nzmax_dimname, &
    11781599&                                                temp_nzmax)
     1600            call handle_nf90_err(ncret)
    11791601            PRINT *, 'temp_nzmax: ', temp_nzmax
    11801602
    11811603            ncret = nf90_inq_dimid(ncid, 'nuvzmax', nuvzmax_dimid)
     1604            call handle_nf90_err(ncret)
    11821605            ncret = nf90_inquire_dimension(ncid, nuvzmax_dimid, nuvzmax_dimname, &
    11831606&                                                temp_nuvzmax)
     1607            call handle_nf90_err(ncret)
    11841608            PRINT *, 'temp_nuvzmax: ', temp_nuvzmax
    11851609
    11861610            ncret = nf90_inq_dimid(ncid, 'nwzmax', nwzmax_dimid)
     1611            call handle_nf90_err(ncret)
    11871612            ncret = nf90_inquire_dimension(ncid, nwzmax_dimid, nwzmax_dimname, &
    11881613&                                                temp_nwzmax)
     1614            call handle_nf90_err(ncret)
    11891615            PRINT *, 'temp_nwzmax: ', temp_nwzmax
    11901616
    11911617            ncret = nf90_inq_dimid(ncid, 'numclass', numclass_dimid)
     1618            call handle_nf90_err(ncret)
    11921619            ncret = nf90_inquire_dimension(ncid, numclass_dimid, numclass_dimname, &
    11931620&                                                temp_numclass)
     1621            call handle_nf90_err(ncret)
    11941622            PRINT *, 'temp_numclass: ', temp_numclass
    11951623
    11961624            ncret = nf90_inq_dimid(ncid, 'maxspec', maxspec_dimid)
     1625            call handle_nf90_err(ncret)
    11971626            ncret = nf90_inquire_dimension(ncid, maxspec_dimid, maxspec_dimname, &
    11981627&                                                temp_maxspec)
     1628            call handle_nf90_err(ncret)
    11991629            PRINT *, 'temp_maxspec: ', temp_maxspec
    12001630
     
    12351665            ! Get the varid , then read into scalar variable
    12361666            ncret = nf90_inq_varid(ncid, 'nx', ncvarid)
     1667            call handle_nf90_err(ncret)
    12371668            ncret = nf90_get_var(ncid, ncvarid, nx)
     1669            call handle_nf90_err(ncret)
    12381670
    12391671            ncret = nf90_inq_varid(ncid, 'ny', ncvarid)
     1672            call handle_nf90_err(ncret)
    12401673            ncret = nf90_get_var(ncid, ncvarid, ny)
     1674            call handle_nf90_err(ncret)
    12411675
    12421676            ncret = nf90_inq_varid(ncid, 'nxmin1', ncvarid)
     1677            call handle_nf90_err(ncret)
    12431678            ncret = nf90_get_var(ncid, ncvarid, nxmin1)
     1679            call handle_nf90_err(ncret)
    12441680
    12451681            ncret = nf90_inq_varid(ncid, 'nymin1', ncvarid)
     1682            call handle_nf90_err(ncret)
    12461683            ncret = nf90_get_var(ncid, ncvarid, nymin1)
     1684            call handle_nf90_err(ncret)
    12471685
    12481686            ncret = nf90_inq_varid(ncid, 'nxfield', ncvarid)
     1687            call handle_nf90_err(ncret)
    12491688            ncret = nf90_get_var(ncid, ncvarid, nxfield)
     1689            call handle_nf90_err(ncret)
    12501690
    12511691            ncret = nf90_inq_varid(ncid, 'nuvz', ncvarid)
     1692            call handle_nf90_err(ncret)
    12521693            ncret = nf90_get_var(ncid, ncvarid, nuvz)
     1694            call handle_nf90_err(ncret)
    12531695
    12541696            ncret = nf90_inq_varid(ncid, 'nwz', ncvarid)
     1697            call handle_nf90_err(ncret)
    12551698            ncret = nf90_get_var(ncid, ncvarid, nwz)
     1699            call handle_nf90_err(ncret)
    12561700
    12571701            ncret = nf90_inq_varid(ncid, 'nz', ncvarid)
     1702            call handle_nf90_err(ncret)
    12581703            ncret = nf90_get_var(ncid, ncvarid, nz)
     1704            call handle_nf90_err(ncret)
    12591705
    12601706            ncret = nf90_inq_varid(ncid, 'nmixz', ncvarid)
     1707            call handle_nf90_err(ncret)
    12611708            ncret = nf90_get_var(ncid, ncvarid, nmixz)
     1709            call handle_nf90_err(ncret)
    12621710
    12631711            ncret = nf90_inq_varid(ncid, 'nlev_ec', ncvarid)
     1712            call handle_nf90_err(ncret)
    12641713            ncret = nf90_get_var(ncid, ncvarid, nlev_ec)
     1714            call handle_nf90_err(ncret)
    12651715
    12661716            ncret = nf90_inq_varid(ncid, 'dx', ncvarid)
     1717            call handle_nf90_err(ncret)
    12671718            ncret = nf90_get_var(ncid, ncvarid, dx)
     1719            call handle_nf90_err(ncret)
    12681720
    12691721            ncret = nf90_inq_varid(ncid, 'dy', ncvarid)
     1722            call handle_nf90_err(ncret)
    12701723            ncret = nf90_get_var(ncid, ncvarid, dy)
     1724            call handle_nf90_err(ncret)
    12711725
    12721726            ncret = nf90_inq_varid(ncid, 'xlon0', ncvarid)
     1727            call handle_nf90_err(ncret)
    12731728            ncret = nf90_get_var(ncid, ncvarid, xlon0)
     1729            call handle_nf90_err(ncret)
    12741730
    12751731            ncret = nf90_inq_varid(ncid, 'ylat0', ncvarid)
     1732            call handle_nf90_err(ncret)
    12761733            ncret = nf90_get_var(ncid, ncvarid, ylat0)
     1734            call handle_nf90_err(ncret)
    12771735
    12781736            ncret = nf90_inq_varid(ncid, 'dxconst', ncvarid)
     1737            call handle_nf90_err(ncret)
    12791738            ncret = nf90_get_var(ncid, ncvarid, dxconst)
     1739            call handle_nf90_err(ncret)
    12801740
    12811741            ncret = nf90_inq_varid(ncid, 'dyconst', ncvarid)
     1742            call handle_nf90_err(ncret)
    12821743            ncret = nf90_get_var(ncid, ncvarid, dyconst)
     1744            call handle_nf90_err(ncret)
    12831745
    12841746
     
    12911753
    12921754            ncret = nf90_inq_varid(ncid, 'oro', ncvarid)
     1755            call handle_nf90_err(ncret)
    12931756            ncret = nf90_get_var(ncid, ncvarid, oro(0:nxmax-1,0:nymax-1))
     1757            call handle_nf90_err(ncret)
    12941758
    12951759            ncret = nf90_inq_varid(ncid, 'excessoro', ncvarid)
     1760            call handle_nf90_err(ncret)
    12961761            ncret = nf90_get_var(ncid, ncvarid, excessoro(0:nxmax-1,0:nymax-1))
     1762            call handle_nf90_err(ncret)
    12971763
    12981764            ncret = nf90_inq_varid(ncid, 'lsm', ncvarid)
     1765            call handle_nf90_err(ncret)
    12991766            ncret = nf90_get_var(ncid, ncvarid, lsm(0:nxmax-1,0:nymax-1))
     1767            call handle_nf90_err(ncret)
    13001768
    13011769            ncret = nf90_inq_varid(ncid, 'xlanduse', ncvarid)
     1770            call handle_nf90_err(ncret)
    13021771            ncret = nf90_get_var(ncid, ncvarid, xlanduse(0:nxmax-1,0:nymax-1, 1:numclass))
     1772            call handle_nf90_err(ncret)
    13031773
    13041774            ncret = nf90_inq_varid(ncid, 'height', ncvarid)
     1775            call handle_nf90_err(ncret)
    13051776            ncret = nf90_get_var(ncid, ncvarid, height(1:nzmax))
     1777            call handle_nf90_err(ncret)
    13061778
    13071779
     
    13301802            ! Get the varid and read the variable into the array
    13311803            ncret = nf90_inq_varid(ncid, 'uu', ncvarid)
     1804            call handle_nf90_err(ncret)
    13321805            ncret = nf90_get_var(ncid, ncvarid, uu(0:nxmax-1,0:nymax-1,1:nzmax,cm_index))
     1806            call handle_nf90_err(ncret)
    13331807
    13341808            ncret = nf90_inq_varid(ncid, 'vv', ncvarid)
     1809            call handle_nf90_err(ncret)
    13351810            ncret = nf90_get_var(ncid, ncvarid, vv(0:nxmax-1,0:nymax-1,1:nzmax,cm_index))
     1811            call handle_nf90_err(ncret)
    13361812
    13371813            ncret = nf90_inq_varid(ncid, 'uupol', ncvarid)
     1814            call handle_nf90_err(ncret)
    13381815            ncret = nf90_get_var(ncid, ncvarid, uupol(0:nxmax-1,0:nymax-1,1:nzmax,cm_index))
     1816            call handle_nf90_err(ncret)
    13391817
    13401818            ncret = nf90_inq_varid(ncid, 'vvpol', ncvarid)
     1819            call handle_nf90_err(ncret)
    13411820            ncret = nf90_get_var(ncid, ncvarid, vvpol(0:nxmax-1,0:nymax-1,1:nzmax,cm_index))
     1821            call handle_nf90_err(ncret)
    13421822
    13431823            ncret = nf90_inq_varid(ncid, 'ww', ncvarid)
     1824            call handle_nf90_err(ncret)
    13441825            ncret = nf90_get_var(ncid, ncvarid, ww(0:nxmax-1,0:nymax-1,1:nzmax,cm_index))
     1826            call handle_nf90_err(ncret)
    13451827
    13461828            ncret = nf90_inq_varid(ncid, 'tt', ncvarid)
     1829            call handle_nf90_err(ncret)
    13471830            ncret = nf90_get_var(ncid, ncvarid, tt(0:nxmax-1,0:nymax-1,1:nzmax,cm_index))
     1831            call handle_nf90_err(ncret)
    13481832
    13491833            ncret = nf90_inq_varid(ncid, 'qv', ncvarid)
     1834            call handle_nf90_err(ncret)
    13501835            ncret = nf90_get_var(ncid, ncvarid, qv(0:nxmax-1,0:nymax-1,1:nzmax,cm_index))
     1836            call handle_nf90_err(ncret)
    13511837
    13521838            ncret = nf90_inq_varid(ncid, 'pv', ncvarid)
     1839            call handle_nf90_err(ncret)
    13531840            ncret = nf90_get_var(ncid, ncvarid, pv(0:nxmax-1,0:nymax-1,1:nzmax,cm_index))
     1841            call handle_nf90_err(ncret)
    13541842
    13551843            ncret = nf90_inq_varid(ncid, 'rho', ncvarid)
     1844            call handle_nf90_err(ncret)
    13561845            ncret = nf90_get_var(ncid, ncvarid, rho(0:nxmax-1,0:nymax-1,1:nzmax,cm_index))
     1846            call handle_nf90_err(ncret)
    13571847
    13581848            ncret = nf90_inq_varid(ncid, 'drhodz', ncvarid)
     1849            call handle_nf90_err(ncret)
    13591850            ncret = nf90_get_var(ncid, ncvarid, drhodz(0:nxmax-1,0:nymax-1,1:nzmax,cm_index))
     1851            call handle_nf90_err(ncret)
    13601852
    13611853            ncret = nf90_inq_varid(ncid, 'clouds', ncvarid)
     1854            call handle_nf90_err(ncret)
    13621855            ncret = nf90_get_var(ncid, ncvarid, clouds(0:nxmax-1,0:nzmax-1,1:nzmax,cm_index))
     1856            call handle_nf90_err(ncret)
    13631857
    13641858            ncret = nf90_inq_varid(ncid, 'tth', ncvarid)
     1859            call handle_nf90_err(ncret)
    13651860            ncret = nf90_get_var(ncid, ncvarid, tth(0:nxmax-1,0:nymax-1,1:nuvzmax,cm_index))
     1861            call handle_nf90_err(ncret)
    13661862
    13671863            ncret = nf90_inq_varid(ncid, 'qvh', ncvarid)
     1864            call handle_nf90_err(ncret)
    13681865            ncret = nf90_get_var(ncid, ncvarid, qvh(0:nxmax-1,0:nymax-1,1:nuvzmax,cm_index))
     1866            call handle_nf90_err(ncret)
    13691867
    13701868            ncret = nf90_inq_varid(ncid, 'pplev', ncvarid)
     1869            call handle_nf90_err(ncret)
    13711870            ncret = nf90_get_var(ncid, ncvarid, pplev(0:nxmax-1,0:nymax-1,1:nuvzmax,cm_index))
     1871            call handle_nf90_err(ncret)
    13721872
    13731873            ncret = nf90_inq_varid(ncid, 'cloudsh', ncvarid)
     1874            call handle_nf90_err(ncret)
    13741875            ncret = nf90_get_var(ncid, ncvarid, cloudsh(0:nxmax-1,0:nymax-1,cm_index))
     1876            call handle_nf90_err(ncret)
    13751877
    13761878
     
    14101912            ! Get the varid and read the variable into the array
    14111913            ncret = nf90_inq_varid(ncid, 'ps', ncvarid)
     1914            call handle_nf90_err(ncret)
    14121915            ncret = nf90_get_var(ncid, ncvarid, ps(0:nxmax-1,0:nymax-1,1,cm_index))
     1916            call handle_nf90_err(ncret)
    14131917
    14141918            ncret = nf90_inq_varid(ncid, 'sd', ncvarid)
     1919            call handle_nf90_err(ncret)
    14151920            ncret = nf90_get_var(ncid, ncvarid, sd(0:nxmax-1,0:nymax-1,1,cm_index))
     1921            call handle_nf90_err(ncret)
    14161922
    14171923            ncret = nf90_inq_varid(ncid, 'msl', ncvarid)
     1924            call handle_nf90_err(ncret)
    14181925            ncret = nf90_get_var(ncid, ncvarid, msl(0:nxmax-1,0:nymax-1,1,cm_index))
     1926            call handle_nf90_err(ncret)
    14191927
    14201928            ncret = nf90_inq_varid(ncid, 'tcc', ncvarid)
     1929            call handle_nf90_err(ncret)
    14211930            ncret = nf90_get_var(ncid, ncvarid, tcc(0:nxmax-1,0:nymax-1,1,cm_index))
     1931            call handle_nf90_err(ncret)
    14221932
    14231933            ncret = nf90_inq_varid(ncid, 'u10', ncvarid)
     1934            call handle_nf90_err(ncret)
    14241935            ncret = nf90_get_var(ncid, ncvarid, u10(0:nxmax-1,0:nymax-1,1,cm_index))
     1936            call handle_nf90_err(ncret)
    14251937
    14261938            ncret = nf90_inq_varid(ncid, 'v10', ncvarid)
     1939            call handle_nf90_err(ncret)
    14271940            ncret = nf90_get_var(ncid, ncvarid, v10(0:nxmax-1,0:nymax-1,1,cm_index))
     1941            call handle_nf90_err(ncret)
    14281942
    14291943            ncret = nf90_inq_varid(ncid, 'tt2', ncvarid)
     1944            call handle_nf90_err(ncret)
    14301945            ncret = nf90_get_var(ncid, ncvarid, tt2(0:nxmax-1,0:nymax-1,1,cm_index))
     1946            call handle_nf90_err(ncret)
    14311947
    14321948            ncret = nf90_inq_varid(ncid, 'td2', ncvarid)
     1949            call handle_nf90_err(ncret)
    14331950            ncret = nf90_get_var(ncid, ncvarid, td2(0:nxmax-1,0:nymax-1,1,cm_index))
     1951            call handle_nf90_err(ncret)
    14341952
    14351953            ncret = nf90_inq_varid(ncid, 'lsprec', ncvarid)
     1954            call handle_nf90_err(ncret)
    14361955            ncret = nf90_get_var(ncid, ncvarid, lsprec(0:nxmax-1,0:nymax-1,1,cm_index))
     1956            call handle_nf90_err(ncret)
    14371957
    14381958            ncret = nf90_inq_varid(ncid, 'convprec', ncvarid)
     1959            call handle_nf90_err(ncret)
    14391960            ncret = nf90_get_var(ncid, ncvarid, convprec(0:nxmax-1,0:nymax-1,1,cm_index))
     1961            call handle_nf90_err(ncret)
    14401962
    14411963            ncret = nf90_inq_varid(ncid, 'sshf', ncvarid)
     1964            call handle_nf90_err(ncret)
    14421965            ncret = nf90_get_var(ncid, ncvarid, sshf(0:nxmax-1,0:nymax-1,1,cm_index))
     1966            call handle_nf90_err(ncret)
    14431967
    14441968            ncret = nf90_inq_varid(ncid, 'ssr', ncvarid)
     1969            call handle_nf90_err(ncret)
    14451970            ncret = nf90_get_var(ncid, ncvarid, ssr(0:nxmax-1,0:nymax-1,1,cm_index))
     1971            call handle_nf90_err(ncret)
    14461972
    14471973            ncret = nf90_inq_varid(ncid, 'surfstr', ncvarid)
     1974            call handle_nf90_err(ncret)
    14481975            ncret = nf90_get_var(ncid, ncvarid, surfstr(0:nxmax-1,0:nymax-1,1,cm_index))
     1976            call handle_nf90_err(ncret)
    14491977
    14501978            ncret = nf90_inq_varid(ncid, 'ustar', ncvarid)
     1979            call handle_nf90_err(ncret)
    14511980            ncret = nf90_get_var(ncid, ncvarid, ustar(0:nxmax-1,0:nymax-1,1,cm_index))
     1981            call handle_nf90_err(ncret)
    14521982
    14531983            ncret = nf90_inq_varid(ncid, 'wstar', ncvarid)
     1984            call handle_nf90_err(ncret)
    14541985            ncret = nf90_get_var(ncid, ncvarid, wstar(0:nxmax-1,0:nymax-1,1,cm_index))
     1986            call handle_nf90_err(ncret)
    14551987
    14561988            ncret = nf90_inq_varid(ncid, 'hmix', ncvarid)
     1989            call handle_nf90_err(ncret)
    14571990            ncret = nf90_get_var(ncid, ncvarid, hmix(0:nxmax-1,0:nymax-1,1,cm_index))
     1991            call handle_nf90_err(ncret)
    14581992
    14591993            ncret = nf90_inq_varid(ncid, 'tropopause', ncvarid)
     1994            call handle_nf90_err(ncret)
    14601995            ncret = nf90_get_var(ncid, ncvarid, tropopause(0:nxmax-1,0:nymax-1,1,cm_index))
     1996            call handle_nf90_err(ncret)
    14611997
    14621998            ncret = nf90_inq_varid(ncid, 'oli', ncvarid)
     1999            call handle_nf90_err(ncret)
    14632000            ncret = nf90_get_var(ncid, ncvarid, oli(0:nxmax-1,0:nymax-1,1,cm_index))
     2001            call handle_nf90_err(ncret)
    14642002
    14652003            ncret = nf90_inq_varid(ncid, 'diffk', ncvarid)
     2004            call handle_nf90_err(ncret)
    14662005            ncret = nf90_get_var(ncid, ncvarid, diffk(0:nxmax-1,0:nymax-1,1,cm_index))
     2006            call handle_nf90_err(ncret)
    14672007
    14682008
     
    14772017
    14782018            ncret = nf90_inq_varid(ncid, 'vdep', ncvarid)
     2019            call handle_nf90_err(ncret)
    14792020            ncret = nf90_get_var(ncid, ncvarid, vdep(0:nxmax-1,0:nymax-1,1:maxspec, cm_index))
     2021            call handle_nf90_err(ncret)
    14802022
    14812023
     
    14942036
    14952037            ncret = nf90_inq_varid(ncid, 'z0', ncvarid)
     2038            call handle_nf90_err(ncret)
    14962039            ncret = nf90_get_var(ncid, ncvarid, z0(1:numclass))
     2040            call handle_nf90_err(ncret)
    14972041
    14982042            ncret = nf90_inq_varid(ncid, 'akm', ncvarid)
     2043            call handle_nf90_err(ncret)
    14992044            ncret = nf90_get_var(ncid, ncvarid, akm(1:nwzmax))
     2045            call handle_nf90_err(ncret)
    15002046
    15012047            ncret = nf90_inq_varid(ncid, 'bkm', ncvarid)
     2048            call handle_nf90_err(ncret)
    15022049            ncret = nf90_get_var(ncid, ncvarid, bkm(1:nwzmax))
     2050            call handle_nf90_err(ncret)
    15032051
    15042052            ncret = nf90_inq_varid(ncid, 'akz', ncvarid)
     2053            call handle_nf90_err(ncret)
    15052054            ncret = nf90_get_var(ncid, ncvarid, akz(1:nuvzmax))
     2055            call handle_nf90_err(ncret)
    15062056
    15072057            ncret = nf90_inq_varid(ncid, 'bkz', ncvarid)
     2058            call handle_nf90_err(ncret)
    15082059            ncret = nf90_get_var(ncid, ncvarid, bkz(1:nuvzmax))
     2060            call handle_nf90_err(ncret)
    15092061
    15102062            ncret = nf90_inq_varid(ncid, 'aknew', ncvarid)
     2063            call handle_nf90_err(ncret)
    15112064            ncret = nf90_get_var(ncid, ncvarid, aknew(1:nzmax))
     2065            call handle_nf90_err(ncret)
    15122066
    15132067            ncret = nf90_inq_varid(ncid, 'bknew', ncvarid)
     2068            call handle_nf90_err(ncret)
    15142069            ncret = nf90_get_var(ncid, ncvarid, bknew(1:nzmax))
     2070            call handle_nf90_err(ncret)
    15152071
    15162072
     
    15272083            ! sure we are working with consistent arrays
    15282084            ncret = nf90_inq_dimid(ncid, 'maxnests', maxnests_dimid)
     2085            call handle_nf90_err(ncret)
    15292086            ncret = nf90_inquire_dimension(ncid, maxnests_dimid, maxnests_dimname, &
    15302087&                                                temp_maxnests)
     2088            call handle_nf90_err(ncret)
    15312089            PRINT *, 'temp_maxnests: ', temp_maxnests
    15322090
    15332091            ncret = nf90_inq_dimid(ncid, 'nxmaxn', nxmaxn_dimid)
     2092            call handle_nf90_err(ncret)
    15342093            ncret = nf90_inquire_dimension(ncid, nxmaxn_dimid, nxmaxn_dimname, &
    15352094&                                                temp_nxmaxn)
     2095            call handle_nf90_err(ncret)
    15362096            PRINT *, 'temp_nxmaxn: ', temp_nxmaxn
    15372097
    15382098            ncret = nf90_inq_dimid(ncid, 'nymaxn', nymaxn_dimid)
     2099            call handle_nf90_err(ncret)
    15392100            ncret = nf90_inquire_dimension(ncid, nymaxn_dimid, nymaxn_dimname, &
    15402101&                                                temp_nymaxn)
     2102            call handle_nf90_err(ncret)
    15412103            PRINT *, 'temp_nymaxn: ', temp_nymaxn
    15422104
     
    15712133
    15722134            ncret = nf90_inq_varid(ncid, 'nxn', ncvarid)
     2135            call handle_nf90_err(ncret)
    15732136            ncret = nf90_get_var(ncid, ncvarid, nxn(1:maxnests))
     2137            call handle_nf90_err(ncret)
    15742138
    15752139            ncret = nf90_inq_varid(ncid, 'nyn', ncvarid)
     2140            call handle_nf90_err(ncret)
    15762141            ncret = nf90_get_var(ncid, ncvarid, nyn(1:maxnests))
     2142            call handle_nf90_err(ncret)
    15772143
    15782144            ncret = nf90_inq_varid(ncid, 'dxn', ncvarid)
     2145            call handle_nf90_err(ncret)
    15792146            ncret = nf90_get_var(ncid, ncvarid, dxn(1:maxnests))
     2147            call handle_nf90_err(ncret)
    15802148
    15812149            ncret = nf90_inq_varid(ncid, 'dyn', ncvarid)
     2150            call handle_nf90_err(ncret)
    15822151            ncret = nf90_get_var(ncid, ncvarid, dyn(1:maxnests))
     2152            call handle_nf90_err(ncret)
    15832153
    15842154            ncret = nf90_inq_varid(ncid, 'xlon0n', ncvarid)
     2155            call handle_nf90_err(ncret)
    15852156            ncret = nf90_get_var(ncid, ncvarid, xlon0n(1:maxnests))
     2157            call handle_nf90_err(ncret)
    15862158
    15872159            ncret = nf90_inq_varid(ncid, 'ylat0n', ncvarid)
     2160            call handle_nf90_err(ncret)
    15882161            ncret = nf90_get_var(ncid, ncvarid, ylat0n(1:maxnests))
     2162            call handle_nf90_err(ncret)
    15892163
    15902164
     
    15942168
    15952169            ncret = nf90_inq_varid(ncid, 'oron', ncvarid)
     2170            call handle_nf90_err(ncret)
    15962171            ncret = nf90_get_var(ncid, ncvarid, oron(0:nxmaxn-1,0:nymaxn-1,1:maxnests))
     2172            call handle_nf90_err(ncret)
    15972173
    15982174            ncret = nf90_inq_varid(ncid, 'excessoron', ncvarid)
     2175            call handle_nf90_err(ncret)
    15992176            ncret = nf90_get_var(ncid, ncvarid, excessoron(0:nxmaxn-1,0:nymaxn-1,1:maxnests))
     2177            call handle_nf90_err(ncret)
    16002178
    16012179            ncret = nf90_inq_varid(ncid, 'lsmn', ncvarid)
     2180            call handle_nf90_err(ncret)
    16022181            ncret = nf90_get_var(ncid, ncvarid, lsmn(0:nxmaxn-1,0:nymaxn-1,1:maxnests))
     2182            call handle_nf90_err(ncret)
    16032183
    16042184            ncret = nf90_inq_varid(ncid, 'xlandusen', ncvarid)
     2185            call handle_nf90_err(ncret)
    16052186            ncret = nf90_get_var(ncid, ncvarid, xlandusen(0:nxmaxn-1,0:nymaxn-1,1:numclass,1:maxnests))
    1606 
    1607 
    1608             PRINT *, 'SUM(xlandusen): ', &
    1609 &                                        SUM(xlandusen)
     2187            call handle_nf90_err(ncret)
     2188
     2189
     2190            PRINT *, 'SUM(oron): ', SUM(oron)
    16102191
    16112192
     
    16252206            READ(iounit) tthn(:,:,:,cm_index,:)
    16262207            READ(iounit) qvhn(:,:,:,cm_index,:)
     2208
     2209
     2210            ncret = nf90_inq_varid(ncid, 'uun', ncvarid)
     2211            call handle_nf90_err(ncret)
     2212            ncret = nf90_get_var(ncid, ncvarid, uun(0:nxmaxn-1,0:nymaxn-1,1:nzmax,cm_index,1:maxnests))
     2213            call handle_nf90_err(ncret)
     2214
     2215            ncret = nf90_inq_varid(ncid, 'vvn', ncvarid)
     2216            call handle_nf90_err(ncret)
     2217            ncret = nf90_get_var(ncid, ncvarid, vvn(0:nxmaxn-1,0:nymaxn-1,1:nzmax,cm_index,1:maxnests))
     2218            call handle_nf90_err(ncret)
     2219
     2220            ncret = nf90_inq_varid(ncid, 'wwn', ncvarid)
     2221            call handle_nf90_err(ncret)
     2222            ncret = nf90_get_var(ncid, ncvarid, wwn(0:nxmaxn-1,0:nymaxn-1,1:nzmax,cm_index,1:maxnests))
     2223            call handle_nf90_err(ncret)
     2224
     2225            ncret = nf90_inq_varid(ncid, 'ttn', ncvarid)
     2226            call handle_nf90_err(ncret)
     2227            ncret = nf90_get_var(ncid, ncvarid, ttn(0:nxmaxn-1,0:nymaxn-1,1:nzmax,cm_index,1:maxnests))
     2228            call handle_nf90_err(ncret)
     2229
     2230            ncret = nf90_inq_varid(ncid, 'qvn', ncvarid)
     2231            call handle_nf90_err(ncret)
     2232            ncret = nf90_get_var(ncid, ncvarid, qvn(0:nxmaxn-1,0:nymaxn-1,1:nzmax,cm_index,1:maxnests))
     2233            call handle_nf90_err(ncret)
     2234
     2235            ncret = nf90_inq_varid(ncid, 'pvn', ncvarid)
     2236            call handle_nf90_err(ncret)
     2237            ncret = nf90_get_var(ncid, ncvarid, pvn(0:nxmaxn-1,0:nymaxn-1,1:nzmax,cm_index,1:maxnests))
     2238            call handle_nf90_err(ncret)
     2239
     2240            ncret = nf90_inq_varid(ncid, 'rhon', ncvarid)
     2241            call handle_nf90_err(ncret)
     2242            ncret = nf90_get_var(ncid, ncvarid, rhon(0:nxmaxn-1,0:nymaxn-1,1:nzmax,cm_index,1:maxnests))
     2243            call handle_nf90_err(ncret)
     2244
     2245            ncret = nf90_inq_varid(ncid, 'drhodzn', ncvarid)
     2246            call handle_nf90_err(ncret)
     2247            ncret = nf90_get_var(ncid, ncvarid, drhodzn(0:nxmaxn-1,0:nymaxn-1,1:nzmax,cm_index,1:maxnests))
     2248            call handle_nf90_err(ncret)
     2249
     2250            ncret = nf90_inq_varid(ncid, 'tthn', ncvarid)
     2251            call handle_nf90_err(ncret)
     2252            ncret = nf90_get_var(ncid, ncvarid, tthn(0:nxmaxn-1,0:nymaxn-1,1:nuvzmax,cm_index,1:maxnests))
     2253            call handle_nf90_err(ncret)
     2254
     2255            ncret = nf90_inq_varid(ncid, 'qvhn', ncvarid)
     2256            call handle_nf90_err(ncret)
     2257            ncret = nf90_get_var(ncid, ncvarid, qvhn(0:nxmaxn-1,0:nymaxn-1,1:nuvzmax,cm_index,1:maxnests))
     2258            call handle_nf90_err(ncret)
     2259
     2260            ncret = nf90_inq_varid(ncid, 'cloudsn', ncvarid)
     2261            call handle_nf90_err(ncret)
     2262            ncret = nf90_get_var(ncid, ncvarid, cloudsn(0:nxmaxn-1,0:nymaxn-1,0:nzmax,cm_index,1:maxnests))
     2263            call handle_nf90_err(ncret)
     2264
     2265            ncret = nf90_inq_varid(ncid, 'cloudsnh', ncvarid)
     2266            call handle_nf90_err(ncret)
     2267            ncret = nf90_get_var(ncid, ncvarid, cloudsnh(0:nxmaxn-1,0:nymaxn-1,cm_index,1:maxnests))
     2268            call handle_nf90_err(ncret)
     2269
     2270
     2271
     2272
     2273            PRINT *, 'SUM(uun): ', SUM(uun(:,:,:,cm_index,:))
     2274            PRINT *, 'SUM(qvhn): ', SUM(qvhn(:,:,:,cm_index,:))
     2275            PRINT *, 'SUM(cloudsn): ', SUM(cloudsn(:,:,:,cm_index,:))
     2276
     2277
     2278
    16272279
    16282280            ! 2d nested fields
     
    16482300            READ(iounit) vdepn(:,:,:,cm_index,:)
    16492301
     2302            ncret = nf90_inq_varid(ncid, 'psn', ncvarid)
     2303            call handle_nf90_err(ncret)
     2304            ncret = nf90_get_var(ncid, ncvarid, psn(0:nxmaxn-1,0:nymaxn-1,1,cm_index,1:maxnests))
     2305            call handle_nf90_err(ncret)
     2306
     2307
     2308
     2309            PRINT *, 'SUM(psn): ', SUM(psn(:,:,:,cm_index,:))
     2310
     2311
     2312
    16502313            ! Auxiliary variables for nests
    16512314            READ(iounit) xresoln(:)
     
    17332396    END SUBROUTINE fpmetbinary_filetext
    17342397
     2398    subroutine handle_nf90_err(status)
     2399
     2400        ! Custom routine for checking NF90 error status
     2401        ! and aborting if necessary
     2402        use netcdf
     2403        implicit none
     2404        integer, intent (in) :: status
     2405
     2406        if (status /= nf90_noerr) then
     2407            print *, trim(nf90_strerror(status))
     2408            stop "Stopped..."
     2409        endif
     2410    end subroutine handle_nf90_err
     2411
     2412
     2413
    17352414
    17362415END MODULE fpmetbinary_mod
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG