Ignore:
Timestamp:
Jul 23, 2024, 7:00:20 AM (2 months ago)
Author:
abarral
Message:

Remove CPP_1D key. It was used once in a single file to wrap a whole internal module -> can't even compile if key is enabled.
(lint) Set NF90_* to lowercase

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/tools/make_sso/make_sso_SpherePack.f90

    r5099 r5100  
    117117    SELECT CASE(arg)
    118118      CASE('-i');   f_in=args(k); msg='Missing file "'//TRIM(f_in)//'".'
    119                     ll=NF90_OPEN(f_in,NF90_NOWRITE,fID)/=nf90_noerr
    120                     IF(.NOT.ll) n=NF90_CLOSE(fID)
     119                    ll=nf90_open(f_in,nf90_nowrite,fID)/=nf90_noerr
     120                    IF(.NOT.ll) n=nf90_close(fID)
    121121      CASE('-res'); nlon_ou=str2int(args(k)); k=k+1
    122122                    nlat_ou=str2int(args(k))
     
    135135  IF(ALL(['noro','spec']/=fmsk)) THEN
    136136    msg='Missing or wrong "-m" option ; can be "noro", "spec" or a mask file'
    137     CALL err(NF90_OPEN(fmsk,NF90_NOWRITE,fID)/=nf90_noerr,msg)
     137    CALL err(nf90_open(fmsk,nf90_nowrite,fID)/=nf90_noerr,msg)
    138138    CALL nc(NF90_INQ_VARID(fID,"MaskOcean",vID),"MaskOcean")    !--- MASK ID
    139139    CALL nc(NF90_INQUIRE_VARIABLE(fID,vID,dimids=dIDs))         !--- DIMS IDS
    140140    CALL nc(nf90_inquire_dimension(fID,dIDs(1),len=nlon_ou),'x')!--- NB LONG
    141141    CALL nc(nf90_inquire_dimension(fID,dIDs(2),len=nlat_ou),'y')!--- NB LAT
    142     CALL nc(NF90_CLOSE(fID))
     142    CALL nc(nf90_close(fID))
    143143  END IF
    144144  IF(nlon_ou<=0.OR.nlat_ou<=0) THEN
     
    147147
    148148!=== READ THE INPUT FIELD =======================================================
    149   CALL nc(NF90_OPEN(f_in,NF90_NOWRITE,fID))
     149  CALL nc(nf90_open(f_in,nf90_nowrite,fID))
    150150  WRITE(*,*)'>> Reading variable "'//TRIM(vnam)//'" from "'//TRIM(f_in)//'"...'
    151151
     
    163163  CALL nc(nf90_get_var  (fID,loID,lon_in)      ,lonn)
    164164  CALL nc(nf90_get_var  (fID,laID,lat_in)      ,latn)
    165   CALL nc(NF90_GET_ATT  (fID,loID,'units',lonu),lonn)
    166   CALL nc(NF90_GET_ATT  (fID,laID,'units',latu),latn)
     165  CALL nc(nf90_get_att  (fID,loID,'units',lonu),lonn)
     166  CALL nc(nf90_get_att  (fID,laID,'units',latu),latn)
    167167  CALL nc(nf90_get_var  (fID,vID,h(:,:),[1,1],[nlon_in+1,nlat_in]),vnam)
    168   CALL nc(NF90_CLOSE(fID))
     168  CALL nc(nf90_close(fID))
    169169
    170170!--- CHECK WETHER GRID IS CORRECT (GLOBAL DOMAIN, IDENTIFIED UNITS...)
     
    368368      ALLOCATE(msko(nlon_ou,nlat_ou))
    369369      msg='Missing or wrong "-m" option ; can be "noro", "spec" or a mask file'
    370       CALL err(NF90_OPEN(fmsk,NF90_NOWRITE,fID)/=nf90_noerr,msg)
     370      CALL err(nf90_open(fmsk,nf90_nowrite,fID)/=nf90_noerr,msg)
    371371      CALL nc(NF90_INQ_VARID(fID,"MaskOcean",vID),"MaskOcean")    !--- MASK ID
    372372      CALL nc(nf90_get_var(fID,vID,msko(:,:)))                    !--- MASK
    373       CALL nc(NF90_CLOSE(fID))
     373      CALL nc(nf90_close(fID))
    374374      msko(:,:)=1.0-msko(:,:)
    375375  END SELECT
     
    457457  f_ou='make_sso_'//TRIM(res_ou)//'_'//TRIM(f_in)
    458458  fnam=f_ou
    459   CALL nc(NF90_CREATE(f_ou,NF90_CLOBBER,fID))
    460 
    461   CALL nc(NF90_DEF_DIM(fID,'x',nlon_ou,xID))
    462   CALL nc(NF90_DEF_VAR(fID,'x',NF90_REAL,xID,loID)      ,'x')
    463   CALL nc(NF90_PUT_ATT(fID,loID,'long_name','Longitude'),'x')
    464   CALL nc(NF90_PUT_ATT(fID,loID,'units','degrees_east') ,'x')
    465 
    466   CALL nc(NF90_DEF_DIM(fID,'y',nlat_ou,yID))
    467   CALL nc(NF90_DEF_VAR(fID,'y',NF90_REAL,yID,laID)      ,'y')
    468   CALL nc(NF90_PUT_ATT(fID,laID,'long_name','Latitude') ,'y')
    469   CALL nc(NF90_PUT_ATT(fID,laID,'units','degrees_north'),'y')
    470 
    471   CALL nc(NF90_DEF_VAR(fID,'mask',NF90_REAL,[xID,yID],mskID),'mask')
     459  CALL nc(nf90_create(f_ou,nf90_clobber,fID))
     460
     461  CALL nc(nf90_def_dim(fID,'x',nlon_ou,xID))
     462  CALL nc(nf90_def_var(fID,'x',NF90_REAL,xID,loID)      ,'x')
     463  CALL nc(nf90_put_att(fID,loID,'long_name','Longitude'),'x')
     464  CALL nc(nf90_put_att(fID,loID,'units','degrees_east') ,'x')
     465
     466  CALL nc(nf90_def_dim(fID,'y',nlat_ou,yID))
     467  CALL nc(nf90_def_var(fID,'y',NF90_REAL,yID,laID)      ,'y')
     468  CALL nc(nf90_put_att(fID,laID,'long_name','Latitude') ,'y')
     469  CALL nc(nf90_put_att(fID,laID,'units','degrees_north'),'y')
     470
     471  CALL nc(nf90_def_var(fID,'mask',NF90_REAL,[xID,yID],mskID),'mask')
    472472  IF(fmsk=='noro') &
    473   CALL nc(NF90_DEF_VAR(fID,'Zphi',NF90_REAL,[xID,yID],phiID),'Zphi')
    474   CALL nc(NF90_DEF_VAR(fID,'Zmea',NF90_REAL,[xID,yID],meaID),'Zmea')
    475   CALL nc(NF90_DEF_VAR(fID,'mu'  ,NF90_REAL,[xID,yID], muID),'mu'  )
    476   CALL nc(NF90_DEF_VAR(fID,'Zsig',NF90_REAL,[xID,yID],sigID),'Zsig')
    477   CALL nc(NF90_DEF_VAR(fID,'Zgam',NF90_REAL,[xID,yID],gamID),'Zgam')
    478   CALL nc(NF90_DEF_VAR(fID,'Zthe',NF90_REAL,[xID,yID],theID),'Zthe')
    479   CALL nc(NF90_DEF_VAR(fID,'Zpic',NF90_REAL,[xID,yID],picID),'Zpic')
    480   CALL nc(NF90_DEF_VAR(fID,'Zval',NF90_REAL,[xID,yID],valID),'Zval')
    481 
    482   CALL nc(NF90_PUT_ATT(fID,mskID,'long_name','Fractional land mask'                      ),'mask')
     473  CALL nc(nf90_def_var(fID,'Zphi',NF90_REAL,[xID,yID],phiID),'Zphi')
     474  CALL nc(nf90_def_var(fID,'Zmea',NF90_REAL,[xID,yID],meaID),'Zmea')
     475  CALL nc(nf90_def_var(fID,'mu'  ,NF90_REAL,[xID,yID], muID),'mu'  )
     476  CALL nc(nf90_def_var(fID,'Zsig',NF90_REAL,[xID,yID],sigID),'Zsig')
     477  CALL nc(nf90_def_var(fID,'Zgam',NF90_REAL,[xID,yID],gamID),'Zgam')
     478  CALL nc(nf90_def_var(fID,'Zthe',NF90_REAL,[xID,yID],theID),'Zthe')
     479  CALL nc(nf90_def_var(fID,'Zpic',NF90_REAL,[xID,yID],picID),'Zpic')
     480  CALL nc(nf90_def_var(fID,'Zval',NF90_REAL,[xID,yID],valID),'Zval')
     481
     482  CALL nc(nf90_put_att(fID,mskID,'long_name','Fractional land mask'                      ),'mask')
    483483  IF(fmsk=='noro') &
    484   CALL nc(NF90_PUT_ATT(fID,phiID,'long_name','Geopotential'                              ),'Zphi')
    485   CALL nc(NF90_PUT_ATT(fID,meaID,'long_name','Mean orography'                            ),'Zmea')
    486   CALL nc(NF90_PUT_ATT(fID, muID,'long_name','Std deviation of sub-cell scales orography'),'mu'  )
    487   CALL nc(NF90_PUT_ATT(fID,sigID,'long_name','Slope along principal axis'                ),'Zsig')
    488   CALL nc(NF90_PUT_ATT(fID,gamID,'long_name','Anisotropy (aspect ratio)'                 ),'Zgam')
    489   CALL nc(NF90_PUT_ATT(fID,theID,'long_name','Orientation (principal axis)'              ),'Zthe')
    490   CALL nc(NF90_PUT_ATT(fID,picID,'long_name','Maximum height'                            ),'Zpic')
    491   CALL nc(NF90_PUT_ATT(fID,valID,'long_name','Minimum height'                            ),'Zval')
    492 
    493   CALL nc(NF90_PUT_ATT(fID,mskID,'units','none'   ),'mask')
     484  CALL nc(nf90_put_att(fID,phiID,'long_name','Geopotential'                              ),'Zphi')
     485  CALL nc(nf90_put_att(fID,meaID,'long_name','Mean orography'                            ),'Zmea')
     486  CALL nc(nf90_put_att(fID, muID,'long_name','Std deviation of sub-cell scales orography'),'mu'  )
     487  CALL nc(nf90_put_att(fID,sigID,'long_name','Slope along principal axis'                ),'Zsig')
     488  CALL nc(nf90_put_att(fID,gamID,'long_name','Anisotropy (aspect ratio)'                 ),'Zgam')
     489  CALL nc(nf90_put_att(fID,theID,'long_name','Orientation (principal axis)'              ),'Zthe')
     490  CALL nc(nf90_put_att(fID,picID,'long_name','Maximum height'                            ),'Zpic')
     491  CALL nc(nf90_put_att(fID,valID,'long_name','Minimum height'                            ),'Zval')
     492
     493  CALL nc(nf90_put_att(fID,mskID,'units','none'   ),'mask')
    494494  IF(fmsk=='noro') &
    495   CALL nc(NF90_PUT_ATT(fID,phiID,'units','m'      ),'Zphi')
    496   CALL nc(NF90_PUT_ATT(fID,meaID,'units','m'      ),'Zmea')
    497   CALL nc(NF90_PUT_ATT(fID, muID,'units','m'      ),'mu'  )
    498   CALL nc(NF90_PUT_ATT(fID,sigID,'units','m/m'    ),'Zsig')
    499   CALL nc(NF90_PUT_ATT(fID,gamID,'units','none'   ),'Zgam')
    500   CALL nc(NF90_PUT_ATT(fID,theID,'units','degrees'),'Zthe')
    501   CALL nc(NF90_PUT_ATT(fID,picID,'units','m'      ),'Zpic')
    502   CALL nc(NF90_PUT_ATT(fID,valID,'units','m'      ),'Zval')
    503 
    504   CALL nc(NF90_PUT_ATT(fID,NF90_GLOBAL,'Conventions','COARDS/CF-1.0'))
    505   CALL nc(NF90_PUT_ATT(fID,NF90_GLOBAL,'Initial_Grid',TRIM(res_in)))
    506   CALL nc(NF90_PUT_ATT(fID,NF90_GLOBAL,'history',TRIM(call_seq)))
    507   CALL nc(NF90_ENDDEF(fID))
    508 
    509   CALL nc(NF90_PUT_VAR(fID, loID,lon_ou),'x' )
    510   CALL nc(NF90_PUT_VAR(fID, laID,lat_ou),'y' )
    511   CALL nc(NF90_PUT_VAR(fID,mskID,msko),'mask')
     495  CALL nc(nf90_put_att(fID,phiID,'units','m'      ),'Zphi')
     496  CALL nc(nf90_put_att(fID,meaID,'units','m'      ),'Zmea')
     497  CALL nc(nf90_put_att(fID, muID,'units','m'      ),'mu'  )
     498  CALL nc(nf90_put_att(fID,sigID,'units','m/m'    ),'Zsig')
     499  CALL nc(nf90_put_att(fID,gamID,'units','none'   ),'Zgam')
     500  CALL nc(nf90_put_att(fID,theID,'units','degrees'),'Zthe')
     501  CALL nc(nf90_put_att(fID,picID,'units','m'      ),'Zpic')
     502  CALL nc(nf90_put_att(fID,valID,'units','m'      ),'Zval')
     503
     504  CALL nc(nf90_put_att(fID,nf90_global,'Conventions','COARDS/CF-1.0'))
     505  CALL nc(nf90_put_att(fID,nf90_global,'Initial_Grid',TRIM(res_in)))
     506  CALL nc(nf90_put_att(fID,nf90_global,'history',TRIM(call_seq)))
     507  CALL nc(nf90_enddef(fID))
     508
     509  CALL nc(nf90_put_var(fID, loID,lon_ou),'x' )
     510  CALL nc(nf90_put_var(fID, laID,lat_ou),'y' )
     511  CALL nc(nf90_put_var(fID,mskID,msko),'mask')
    512512  IF(fmsk=='noro') &
    513   CALL nc(NF90_PUT_VAR(fID,phiID,Zphi),'Zphi')
    514   CALL nc(NF90_PUT_VAR(fID,meaID,h0  ),'Zmea')
    515   CALL nc(NF90_PUT_VAR(fID, muID,mu  ),'mu'  )
    516   CALL nc(NF90_PUT_VAR(fID,sigID,Zsig),'Zsig')
    517   CALL nc(NF90_PUT_VAR(fID,gamID,Zgam),'Zgam')
    518   CALL nc(NF90_PUT_VAR(fID,theID,Zthe),'Zthe')
    519   CALL nc(NF90_PUT_VAR(fID,picID,       h0+2*mu ),'Zpic')
    520   CALL nc(NF90_PUT_VAR(fID,valID,MAX(0.,h0-2*mu)),'Zval')
    521   CALL nc(NF90_CLOSE(fID))
     513  CALL nc(nf90_put_var(fID,phiID,Zphi),'Zphi')
     514  CALL nc(nf90_put_var(fID,meaID,h0  ),'Zmea')
     515  CALL nc(nf90_put_var(fID, muID,mu  ),'mu'  )
     516  CALL nc(nf90_put_var(fID,sigID,Zsig),'Zsig')
     517  CALL nc(nf90_put_var(fID,gamID,Zgam),'Zgam')
     518  CALL nc(nf90_put_var(fID,theID,Zthe),'Zthe')
     519  CALL nc(nf90_put_var(fID,picID,       h0+2*mu ),'Zpic')
     520  CALL nc(nf90_put_var(fID,valID,MAX(0.,h0-2*mu)),'Zval')
     521  CALL nc(nf90_close(fID))
    522522  WRITE(*,*)'Finished.'
    523523
Note: See TracChangeset for help on using the changeset viewer.