Changeset 3989 for trunk/LMDZ.COMMON/libf/evolution/xios_data.F90
- Timestamp:
- Dec 11, 2025, 12:56:05 PM (5 weeks ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.COMMON/libf/evolution/xios_data.F90
r3988 r3989 1 MODULE read_XIOS_data1 MODULE xios_data 2 2 3 3 use netcdf, only: nf90_open, nf90_close, nf90_inquire_dimension, nf90_inq_dimid, nf90_noerr, nf90_nowrite, nf90_get_var, nf90_inq_varid … … 19 19 contains 20 20 !======================================================================= 21 SUBROUTINE read_PCM_data(ngrid,nslope,nsoil_PCM,nsol,h2ofrost_PCM,co2frost_PCM,ps_avg,tsurf_avg,tsurf_avg_y1,tsoil_avg,tsoil_ts,watersurf_density_avg,d_h2oice,d_co2ice, & 21 22 !======================================================================= 23 SUBROUTINE load_xios_data(ngrid,nslope,nsoil_PCM,nsol,h2ofrost_PCM,co2frost_PCM,ps_avg,tsurf_avg,tsurf_avg_y1,tsoil_avg,tsoil_ts,watersurf_density_avg,d_h2oice,d_co2ice, & 22 24 ps_ts,q_h2o_ts,q_co2_ts,watersoil_density_ts,min_h2oice,min_co2ice) 23 25 24 use grid_conversion, only: lonlat2vect25 use comsoil_h_PEM, only: soil_pem26 use compute_tend_mod,only: compute_tend27 use metamorphism, only: compute_frost26 use grid_conversion, only: lonlat2vect 27 use soil, only: do_soil 28 use tendencies, only: compute_tend 29 use metamorphism, only: compute_frost 28 30 29 31 implicit none … … 109 111 call get_var('watercap'//num,var_read_2d) ; call lonlat2vect(nlon,nlat,ngrid,var_read_2d,min_h2operice(:,islope,2)) 110 112 call get_var('perennial_co2ice'//num,var_read_2d); call lonlat2vect(nlon,nlat,ngrid,var_read_2d,min_co2perice(:,islope,2)) 111 if ( soil_pem) then113 if (do_soil) then 112 114 call get_var('soiltemp'//num,var_read_3d) 113 115 do isoil = 1,nsoil_PCM … … 141 143 call lonlat2vect(nlon,nlat,ngrid,var_read_3d(:,:,isol),q_co2_ts(:,isol)) 142 144 enddo 143 if ( soil_pem) then145 if (do_soil) then 144 146 do islope = 1,nslope 145 147 if (nslope /= 1) then … … 180 182 write(*,*) 'CO2 ice tendencies (min/max):', minval(d_co2ice), maxval(d_co2ice) 181 183 182 END SUBROUTINE read_PCM_data 184 END SUBROUTINE load_xios_data 185 !======================================================================= 186 187 !======================================================================= 188 SUBROUTINE get_timelen(filename,timelen) 189 190 use netcdf 191 192 implicit none 193 194 ! Arguments 195 ! --------- 196 character(*), intent(in) :: filename 197 integer, intent(out) :: timelen 198 199 ! Local variables 200 ! --------------- 201 integer :: ncid ! File ID 202 integer :: dimid ! Dimension ID 203 integer :: ierr ! Return codes 204 205 ! Code 206 ! ---- 207 ! Open the NetCDF file 208 ierr = nf90_open(trim(filename),NF90_NOWRITE,ncid) 209 if (ierr /= nf90_noerr) then 210 write(*,*) "Error opening file:", trim(nf90_strerror(ierr)) 211 error stop 212 endif 213 214 ! Get the dimension ID for 'time_counter' 215 ierr = nf90_inq_dimid(ncid,"time_counter",dimid) 216 if (ierr /= nf90_noerr) then 217 write(*,*) "Error getting dimid 'time_counter':", trim(nf90_strerror(ierr)) 218 error stop 219 endif 220 221 ! Get the size of the dimension 'time_counter' 222 ierr = nf90_inquire_dimension(ncid,dimid,len = timelen) 223 if (ierr /= nf90_noerr) then 224 write(*,*) "Error getting dimension length:", trim(nf90_strerror(ierr)) 225 error stop 226 endif 227 228 ! Close the file 229 ierr = nf90_close(ncid) 230 if (ierr /= nf90_noerr) then 231 write(*,*) "Error closing file:", trim(nf90_strerror(ierr)) 232 error stop 233 endif 234 235 END SUBROUTINE get_timelen 236 !======================================================================= 183 237 184 238 !======================================================================= … … 205 259 206 260 END SUBROUTINE error_msg 261 !======================================================================= 207 262 208 263 !======================================================================= … … 218 273 219 274 END SUBROUTINE get_var_1d 275 !======================================================================= 220 276 221 277 !======================================================================= … … 231 287 232 288 END SUBROUTINE get_var_2d 289 !======================================================================= 233 290 234 291 !======================================================================= … … 244 301 245 302 END SUBROUTINE get_var_3d 303 !======================================================================= 246 304 247 305 !======================================================================= … … 257 315 258 316 END SUBROUTINE get_var_4d 259 260 END MODULE read_XIOS_data 317 !======================================================================= 318 319 END MODULE xios_data
Note: See TracChangeset
for help on using the changeset viewer.
