Changeset 3552 for trunk/LMDZ.GENERIC/libf/phystd/phyetat0_mod.F90
- Timestamp:
- Dec 13, 2024, 5:17:13 PM (5 weeks ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.GENERIC/libf/phystd/phyetat0_mod.F90
r3522 r3552 4 4 5 5 real, save :: tab_cntrl_mod(100) 6 7 integer,save :: nid_start ! NetCDF file identifier for startfi.nc file 6 8 7 9 !$OMP THREADPRIVATE(tab_cntrl_mod) … … 109 111 if (startphy_file) then 110 112 ! open physics initial state file: 111 call open_startphy(fichnom )113 call open_startphy(fichnom,nid_start) 112 114 113 115 ! possibility to modify tab_cntrl in tabfi … … 124 126 if (startphy_file) then 125 127 ! Load surface geopotential: 126 call get_field( "phisfi",phisfi,found)128 call get_field(nid_start,"phisfi",phisfi,found) 127 129 if (.not.found) then 128 130 call abort_physic(modname,"Failed loading <phisfi>",1) … … 136 138 if (startphy_file) then 137 139 ! Load bare ground albedo: (will be stored in surfdat_h) 138 call get_field( "albedodat",albedodat,found)140 call get_field(nid_start,"albedodat",albedodat,found) 139 141 if (.not.found) then 140 142 call abort_physic(modname,"Failed loading <albedodat>",1) … … 152 154 if (startphy_file) then 153 155 ! Load surface albedo (for now assume it is spectrally homogeneous) 154 call get_field( "albedo",albedo(:,1),found)156 call get_field(nid_start,"albedo",albedo(:,1),found) 155 157 if (.not.found) then 156 158 write(*,*) modname//": Failed loading <albedo>" … … 173 175 ! ZMEA 174 176 if (startphy_file) then 175 call get_field( "ZMEA",zmea,found)177 call get_field(nid_start,"ZMEA",zmea,found) 176 178 if (.not.found) then 177 179 call abort_physic(modname,"Failed loading <ZMEA>",1) … … 185 187 ! ZSTD 186 188 if (startphy_file) then 187 call get_field( "ZSTD",zstd,found)189 call get_field(nid_start,"ZSTD",zstd,found) 188 190 if (.not.found) then 189 191 call abort_physic(modname,"Failed loading <ZSTD>",1) … … 197 199 ! ZSIG 198 200 if (startphy_file) then 199 call get_field( "ZSIG",zsig,found)201 call get_field(nid_start,"ZSIG",zsig,found) 200 202 if (.not.found) then 201 203 call abort_physic(modname,"Failed loading <ZSIG>",1) … … 209 211 ! ZGAM 210 212 if (startphy_file) then 211 call get_field( "ZGAM",zgam,found)213 call get_field(nid_start,"ZGAM",zgam,found) 212 214 if (.not.found) then 213 215 call abort_physic(modname,"Failed loading <ZGAM>",1) … … 221 223 ! ZTHE 222 224 if (startphy_file) then 223 call get_field( "ZTHE",zthe,found)225 call get_field(nid_start,"ZTHE",zthe,found) 224 226 if (.not.found) then 225 227 call abort_physic(modname,"Failed loading <ZTHE>",1) … … 233 235 ! Surface temperature : 234 236 if (startphy_file) then 235 call get_field( "tsurf",tsurf,found,indextime)237 call get_field(nid_start,"tsurf",tsurf,found,indextime) 236 238 if (.not.found) then 237 239 call abort_physic(modname,"Failed loading <tsurf>",1) … … 245 247 ! Surface emissivity 246 248 if (startphy_file) then 247 call get_field( "emis",emis,found,indextime)249 call get_field(nid_start,"emis",emis,found,indextime) 248 250 if (.not.found) then 249 251 call abort_physic(modname,"Failed loading <emis>",1) … … 262 264 if (CLFvarying) then 263 265 if (startphy_file) then 264 call get_field( "cloudfrac",cloudfrac,found,indextime)266 call get_field(nid_start,"cloudfrac",cloudfrac,found,indextime) 265 267 if (.not.found) then 266 268 call abort_physic(modname,"Failed loading <cloudfrac>",1) … … 278 280 if (CLFvarying) then 279 281 if (startphy_file) then 280 call get_field( "totcloudfrac",totcloudfrac,found,indextime)282 call get_field(nid_start,"totcloudfrac",totcloudfrac,found,indextime) 281 283 if (.not.found) then 282 284 call abort_physic(modname,"Failed loading <totcloudfrac>",1) … … 293 295 ! Height of oceanic ice (added by BC 2010) 294 296 if (startphy_file) then 295 call get_field( "hice",hice,found,indextime)297 call get_field(nid_start,"hice",hice,found,indextime) 296 298 if (.not.found) then 297 299 write(*,*) "phyetat0: Failed loading <hice>" … … 308 310 if (startphy_file) then 309 311 ! nature of the surface 310 call get_field( "rnat",rnat,found,indextime)312 call get_field(nid_start,"rnat",rnat,found,indextime) 311 313 if (.not.found) then 312 314 write(*,*) "phyetat0: Failed loading <rnat>" … … 329 331 if (startphy_file) then 330 332 ! Pourcentage of sea ice cover 331 call get_field( "pctsrf_sic",pctsrf_sic,found,indextime)333 call get_field(nid_start,"pctsrf_sic",pctsrf_sic,found,indextime) 332 334 if (.not.found) then 333 335 write(*,*) "phyetat0: Failed loading <pctsrf_sic>" … … 342 344 if (startphy_file) then 343 345 ! Slab ocean temperature (2 layers) 344 call get_field( "tslab",tslab,found,indextime)346 call get_field(nid_start,"tslab",tslab,found,indextime) 345 347 if (.not.found) then 346 348 write(*,*) "phyetat0: Failed loading <tslab>" … … 359 361 if (startphy_file) then 360 362 ! Oceanic ice temperature 361 call get_field( "tsea_ice",tsea_ice,found,indextime)363 call get_field(nid_start,"tsea_ice",tsea_ice,found,indextime) 362 364 if (.not.found) then 363 365 write(*,*) "phyetat0: Failed loading <tsea_ice>" … … 372 374 if (startphy_file) then 373 375 ! Oceanic ice temperature 374 call get_field( "tice",tice,found,indextime)376 call get_field(nid_start,"tice",tice,found,indextime) 375 377 if (.not.found) then 376 378 write(*,*) "phyetat0: Failed loading <tice>" … … 385 387 if (startphy_file) then 386 388 ! Oceanic ice quantity (kg/m^2) 387 call get_field( "sea_ice",sea_ice,found,indextime)389 call get_field(nid_start,"sea_ice",sea_ice,found,indextime) 388 390 if (.not.found) then 389 391 write(*,*) "phyetat0: Failed loading <sea_ice>" … … 399 401 ! pbl wind variance 400 402 if (startphy_file) then 401 call get_field( "q2",q2,found,indextime)403 call get_field(nid_start,"q2",q2,found,indextime) 402 404 if (.not.found) then 403 405 call abort_physic(modname,"Failed loading <q2>",1) … … 414 416 txt=noms(iq) 415 417 if (startphy_file) then 416 call get_field( txt,qsurf(:,iq),found,indextime)418 call get_field(nid_start,txt,qsurf(:,iq),found,indextime) 417 419 if (.not.found) then 418 420 write(*,*) "phyetat0: Failed loading <",trim(txt),">" … … 440 442 ! Non-orographic gravity waves 441 443 if (startphy_file) then 442 call get_field( "du_nonoro_gwd",du_nonoro_gwd,found,indextime)444 call get_field(nid_start,"du_nonoro_gwd",du_nonoro_gwd,found,indextime) 443 445 if (.not.found) then 444 446 write(*,*) "phyetat0: <du_nonoro_gwd> not in file" … … 451 453 endif ! of if (startphy_file) 452 454 if (startphy_file) then 453 call get_field( "dv_nonoro_gwd",dv_nonoro_gwd,found,indextime)455 call get_field(nid_start,"dv_nonoro_gwd",dv_nonoro_gwd,found,indextime) 454 456 if (.not.found) then 455 457 write(*,*) "phyetat0: <dv_nonoro_gwd> not in file" … … 462 464 endif ! of if (startphy_file) 463 465 if (startphy_file) then 464 call get_field( "east_gwstress",east_gwstress,found,indextime)466 call get_field(nid_start,"east_gwstress",east_gwstress,found,indextime) 465 467 if (.not.found) then 466 468 write(*,*) "phyetat0: <east_gwstress> not in file" … … 473 475 endif ! of if (startphy_file) 474 476 if (startphy_file) then 475 call get_field( "west_gwstress",west_gwstress,found,indextime)477 call get_field(nid_start,"west_gwstress",west_gwstress,found,indextime) 476 478 if (.not.found) then 477 479 write(*,*) "phyetat0: <west_gwstress> not in file" … … 486 488 ! close file: 487 489 ! 488 if (startphy_file) call close_startphy 490 if (startphy_file) call close_startphy(nid_start) 489 491 490 492 end subroutine phyetat0
Note: See TracChangeset
for help on using the changeset viewer.