Changeset 5088 for LMDZ6/branches/Amaury_dev/libf/phylmd/iotd_ini.F90
- Timestamp:
- Jul 20, 2024, 4:30:31 PM (2 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/phylmd/iotd_ini.F90
r5087 r5088 1 1 SUBROUTINE iotd_ini(fichnom,iim,jjm,llm,prlon,prlat,pcoordv,jour0,mois0,an0,t0,timestep,calendrier) 2 USE lmdz_netcdf, ONLY: nf_enddef,nf_put_att_text,nf_float,nf_def_var,nf_redef,&3 nf _global,nf_def_dim,nf_create,nf_clobber,nf_unlimited,nf90_put_var2 USE netcdf, ONLY: nf90_enddef,nf90_put_att,nf90_float,nf90_def_var,nf90_redef,& 3 nf90_global,nf90_def_dim,nf90_create,nf90_clobber,nf90_unlimited,nf90_put_var 4 4 IMPLICIT NONE 5 5 … … 91 91 92 92 ! Create the NetCDF file 93 ierr= NF_CREATE(fichnom, NF_CLOBBER, nid)94 ierr= NF_DEF_DIM(nid, "lon", iim, dim_coord(1))95 ierr= NF_DEF_DIM(nid, "lat", jjm, dim_coord(2))96 ierr= NF_DEF_DIM(nid, "lev", llm, dim_coord(3))97 ierr= NF_DEF_DIM(nid,"time",NF_UNLIMITED,dim_coord(4))98 ierr = NF_PUT_ATT_TEXT(nid,NF_GLOBAL,'Conventions',6,"CF-1.1")99 !ierr = NF_PUT_ATT_TEXT(nid,NF_GLOBAL,'file_name',TRIM(fname))100 ierr= NF_ENDDEF(nid)93 ierr=nf90_create(fichnom, nf90_clobber, nid) 94 ierr=nf90_def_dim(nid, "lon", iim, dim_coord(1)) 95 ierr=nf90_def_dim(nid, "lat", jjm, dim_coord(2)) 96 ierr=nf90_def_dim(nid, "lev", llm, dim_coord(3)) 97 ierr=nf90_def_dim(nid,"time",nf90_unlimited,dim_coord(4)) 98 ierr = nf90_put_att(nid,nf90_global,'Conventions',"CF-1.1") 99 !ierr = nf90_put_att(nid,nf90_global,'file_name',TRIM(fname)) 100 ierr=nf90_enddef(nid) 101 101 102 102 ! Switch out of NetCDF Define mode 103 103 104 104 105 ierr= NF_ENDDEF(nid)105 ierr=nf90_enddef(nid) 106 106 ! 107 107 ! Contol parameters for this run 108 108 ! ---- longitude ----------- 109 109 110 ierr= NF_REDEF(nid)111 ierr= NF_DEF_VAR(nid,"lon", NF_FLOAT, 1, dim_coord(1),nvarid)112 ierr = NF_PUT_ATT_TEXT(nid,nvarid,'axis',1,'X')113 ierr= NF_PUT_ATT_TEXT(nid,nvarid,'units',12,"degrees_east")114 ierr= NF_ENDDEF(nid)110 ierr=nf90_redef(nid) 111 ierr=nf90_def_var(nid,"lon", nf90_float, dim_coord(1),nvarid) 112 ierr = nf90_put_att(nid,nvarid,'axis','X') 113 ierr=nf90_put_att(nid,nvarid,'units',"degrees_east") 114 ierr=nf90_enddef(nid) 115 115 ierr=nf90_put_var(nid,nvarid,rlon) 116 116 print*,ierr 117 117 118 118 ! ---- latitude ------------ 119 ierr= NF_REDEF(nid)120 ierr= NF_DEF_VAR(nid, "lat", NF_FLOAT, 1, dim_coord(2),nvarid)121 ierr = NF_PUT_ATT_TEXT(nid,nvarid,'axis',1,'Y')122 ierr= NF_PUT_ATT_TEXT(nid,nvarid,'units',13,"degrees_north")123 ierr= NF_ENDDEF(nid)119 ierr=nf90_redef(nid) 120 ierr=nf90_def_var(nid, "lat", nf90_float, dim_coord(2),nvarid) 121 ierr = nf90_put_att(nid,nvarid,'axis','Y') 122 ierr=nf90_put_att(nid,nvarid,'units',"degrees_north") 123 ierr=nf90_enddef(nid) 124 124 ierr=nf90_put_var(nid,nvarid,rlat) 125 125 ! 126 126 ! ---- vertical ------------ 127 ierr= NF_REDEF(nid)128 ierr= NF_DEF_VAR(nid, "lev", NF_FLOAT, 1,dim_coord(3),nvarid)129 ierr= NF_PUT_ATT_TEXT(nid,nvarid,"long_name",10,"vert level")127 ierr=nf90_redef(nid) 128 ierr=nf90_def_var(nid, "lev", nf90_float,dim_coord(3),nvarid) 129 ierr=nf90_put_att(nid,nvarid,"long_name","vert level") 130 130 if ( coordv(2)>coordv(1) ) then 131 ierr= NF_PUT_ATT_TEXT(nid,nvarid,"long_name",10,"pseudo-alt")132 ierr= NF_PUT_ATT_TEXT(nid,nvarid,'positive',2,"up")131 ierr=nf90_put_att(nid,nvarid,"long_name","pseudo-alt") 132 ierr=nf90_put_att(nid,nvarid,'positive',"up") 133 133 else 134 ierr= NF_PUT_ATT_TEXT(nid,nvarid,"long_name",8,"pressure")135 ierr = NF_PUT_ATT_TEXT (nid,nvarid,'positive',4,"down")134 ierr=nf90_put_att(nid,nvarid,"long_name","pressure") 135 ierr = nf90_put_att(nid,nvarid,'positive',"down") 136 136 endif 137 ierr= NF_ENDDEF(nid)137 ierr=nf90_enddef(nid) 138 138 ierr=nf90_put_var(nid,nvarid,coordv) 139 139 140 140 ! 141 141 ! ---- time ---------------- 142 ierr= NF_REDEF(nid)142 ierr=nf90_redef(nid) 143 143 ! Define the 'time' variable 144 ierr= NF_DEF_VAR(nid, "time", NF_FLOAT, 1, dim_coord(4),nvarid)144 ierr=nf90_def_var(nid, "time", nf90_float, dim_coord(4),nvarid) 145 145 ! ! Add attributes 146 ierr = NF_PUT_ATT_TEXT(nid,nvarid,'axis',1,'T')147 ierr = NF_PUT_ATT_TEXT(nid,nvarid,'standard_name',4,'time')146 ierr = nf90_put_att(nid,nvarid,'axis','T') 147 ierr = nf90_put_att(nid,nvarid,'standard_name','time') 148 148 WRITE(date0,'(i4.4,"-",i2.2,"-",i2.2)') an0,mois0,jour0 149 ierr= NF_PUT_ATT_TEXT(nid, nvarid,'units',33, &149 ierr=nf90_put_att(nid, nvarid,'units', & 150 150 "seconds since "//date0//" 00:00:00") 151 ierr = NF_PUT_ATT_TEXT(nid,nvarid,'calendar',9,calendrier)152 !ierr = NF_PUT_ATT_TEXT(nid,nvarid,'calendar',4,'360d')153 ierr = NF_PUT_ATT_TEXT(nid,nvarid,'title',4,'Time')154 ierr = NF_PUT_ATT_TEXT(nid,nvarid,'long_name',9,'Time axis')151 ierr = nf90_put_att(nid,nvarid,'calendar',calendrier) 152 !ierr = nf90_put_att(nid,nvarid,'calendar','360d') 153 ierr = nf90_put_att(nid,nvarid,'title','Time') 154 ierr = nf90_put_att(nid,nvarid,'long_name','Time axis') 155 155 WRITE(date0b,'(i4.4,"-",a3,"-",i2.2)') an0,cmois(mois0),jour0 156 ierr = NF_PUT_ATT_TEXT(nid,nvarid,'time_origin',20, &156 ierr = nf90_put_att(nid,nvarid,'time_origin', & 157 157 date0b//' 00:00:00') 158 ierr= NF_ENDDEF(nid)158 ierr=nf90_enddef(nid) 159 159 160 160
Note: See TracChangeset
for help on using the changeset viewer.