Ignore:
Timestamp:
Sep 20, 2022, 4:09:48 PM (3 years ago)
Author:
lguez
Message:

Replace nf_def_var by nf90_def_var

The immediate motivation is a bug fix: nf_def_var was called with a
scalar instead of array actual argument for dummy array argument
vdims. The simplest way to correct this bug is to replace by a call to
nf90_def_var.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/dyn3d_common/grilles_gcm_netcdf_sub.F90

    r3803 r4253  
    1111  USE comconst_mod, ONLY: cpp, kappa, g, omeg, daysec, rad, pi
    1212  USE comvert_mod, ONLY: presnivs, preff, pa
     13  use netcdf, only: nf90_def_var, nf90_int, nf90_float
    1314 
    1415  IMPLICIT NONE
     
    9192
    9293  !   Longitudes en u
    93   status=NF_DEF_VAR(ncid_out,'lonu',NF_FLOAT,1,out_lonudim, out_lonuid)
     94  status=NF90_DEF_VAR(ncid_out,'lonu',NF90_FLOAT,out_lonudim, out_lonuid)
    9495  CALL handle_err(status)
    9596  status=NF_PUT_ATT_TEXT(ncid_out,out_lonuid,'units', 12,'degrees_east')
     
    9798
    9899  !   Longitudes en v
    99   status=NF_DEF_VAR(ncid_out,'lonv',NF_FLOAT,1,out_lonvdim, out_lonvid)
     100  status=NF90_DEF_VAR(ncid_out,'lonv',NF90_FLOAT,out_lonvdim, out_lonvid)
    100101  CALL handle_err(status)
    101102  status=NF_PUT_ATT_TEXT(ncid_out,out_lonvid,'units', 12,'degrees_east')
     
    103104
    104105  !   Latitude en u
    105   status=NF_DEF_VAR(ncid_out,'latu',NF_FLOAT,1,out_latudim, out_latuid)
     106  status=NF90_DEF_VAR(ncid_out,'latu',NF90_FLOAT,out_latudim, out_latuid)
    106107  CALL handle_err(status)
    107108  status=NF_PUT_ATT_TEXT(ncid_out,out_latuid,'units', 13,'degrees_north')
     
    109110
    110111  !  Latitude en v
    111   status=NF_DEF_VAR(ncid_out,'latv',NF_FLOAT,1,out_latvdim, out_latvid)
     112  status=NF90_DEF_VAR(ncid_out,'latv',NF90_FLOAT,out_latvdim, out_latvid)
    112113  CALL handle_err(status)
    113114  status=NF_PUT_ATT_TEXT(ncid_out,out_latvid,'units', 13,'degrees_north')
     
    117118  out_dim(1)=out_lonudim
    118119  out_dim(2)=out_latudim
    119   status=NF_DEF_VAR(ncid_out,'grille_u',NF_FLOAT,2,out_dim, out_varid)
     120  status=NF90_DEF_VAR(ncid_out,'grille_u',NF90_FLOAT,out_dim, out_varid)
    120121  CALL handle_err(status)
    121122  status=NF_PUT_ATT_TEXT(ncid_out,out_varid,'units', 6,'Kelvin')
     
    125126  out_dim(1)=out_lonvdim
    126127  out_dim(2)=out_latvdim
    127   status=NF_DEF_VAR(ncid_out,'grille_v',NF_FLOAT,2,out_dim, out_varid)
     128  status=NF90_DEF_VAR(ncid_out,'grille_v',NF90_FLOAT,out_dim, out_varid)
    128129  CALL handle_err(status)
    129130  status=NF_PUT_ATT_TEXT(ncid_out,out_varid,'units', 6,'Kelvin')
     
    133134  out_dim(1)=out_lonvdim
    134135  out_dim(2)=out_latudim
    135   status=NF_DEF_VAR(ncid_out,'grille_s',NF_FLOAT,2,out_dim, out_varid)
     136  status=NF90_DEF_VAR(ncid_out,'grille_s',NF90_FLOAT,out_dim, out_varid)
    136137  CALL handle_err(status)
    137138  status=NF_PUT_ATT_TEXT(ncid_out,out_varid,'units', 6,'Kelvin')
     
    201202  status=NF_DEF_DIM(ncid_out,'lev',llm,out_levdim)
    202203  CALL handle_err(status)
    203   status=NF_DEF_VAR(ncid_out,'presnivs',NF_FLOAT,1,out_levdim,&
     204  status=NF90_DEF_VAR(ncid_out,'presnivs',NF90_FLOAT,out_levdim,&
    204205                    presnivs_id)
    205206  CALL handle_err(status)
     
    209210  out_dim(2)=out_latudim
    210211
    211   status = nf_def_var(ncid_out,'phis',NF_FLOAT,2,out_dim,phis_id)
    212   CALL handle_err(status)
    213   status = nf_def_var(ncid_out,'aire',NF_FLOAT,2,out_dim,area_id)
    214   CALL handle_err(status)
    215   status = nf_def_var(ncid_out,'mask',NF_INT  ,2,out_dim,mask_id)
     212  status = nf90_def_var(ncid_out,'phis',NF90_FLOAT,out_dim,phis_id)
     213  CALL handle_err(status)
     214  status = nf90_def_var(ncid_out,'aire',NF90_FLOAT,out_dim,area_id)
     215  CALL handle_err(status)
     216  status = nf90_def_var(ncid_out,'mask',NF90_INT,out_dim,mask_id)
    216217  CALL handle_err(status)
    217218
Note: See TracChangeset for help on using the changeset viewer.