Changeset 3619
- Timestamp:
- Jan 2, 2020, 7:01:34 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/dyn1d/mod_1D_cases_read_std.F90
r3595 r3619 123 123 ierr=NF_INQ_DIMLEN(nid,rid,nlev_cas) 124 124 print*,'OK3 read2: nid,rid,nlev_cas',nid,rid,nlev_cas 125 IF ( .NOT. ( nlev_cas > 10 .AND. nlev_cas < 1000 )) THEN125 IF ( .NOT. ( nlev_cas > 10 .AND. nlev_cas < 200000 )) THEN 126 126 print*,'Valeur de nlev_cas peu probable' 127 127 STOP … … 315 315 & temp_nudg,qv_nudg,u_nudg,v_nudg, & 316 316 & du,hu,vu,dv,hv,vv,dt,ht,vt,dq,hq,vq, & 317 & dth,hth,vth,dr,hr,vr,dtrad,sens,flat,ts,ps,ustar,tke ,uw,vw,q1,q2, &317 & dth,hth,vth,dr,hr,vr,dtrad,sens,flat,ts,ps,ustar,tket,uw,vw,q1,q2, & 318 318 & orog_cas,albedo_cas,emiss_cas,t_skin_cas,q_skin_cas,mom_rough, & 319 319 & heat_rough,o3_cas,rugos_cas,clay_cas,sand_cas) … … 334 334 real temp(nlevel,ntime),qv(nlevel,ntime),ql(nlevel,ntime),qi(nlevel,ntime),rh(nlevel,ntime) 335 335 real theta(nlevel,ntime),thv(nlevel,ntime),thl(nlevel,ntime),rv(nlevel,ntime) 336 real u(nlevel,ntime),v(nlevel,ntime),tke (nlevel,ntime)336 real u(nlevel,ntime),v(nlevel,ntime),tket(ntime) 337 337 real temp_nudg(nlevel,ntime),qv_nudg(nlevel,ntime),u_nudg(nlevel,ntime),v_nudg(nlevel,ntime) 338 338 real ug(nlevel,ntime),vg(nlevel,ntime) … … 366 366 ! coordonnees pression + temps #42 367 367 &'w','omega','ug','vg','uadv','uadvh','uadvv','vadv','vadvh','vadvv','tadv','tadvh','tadvv',& ! #13 - #25 368 &'qvadv','qvadvh','qvadvv','thadv','thadvh','thadvv','thladvh', & ! #26 - #3 3369 & 'radv','radvh','radvv','radcool','q1','q2','ustress','vstress', & ! #3 4 - #41370 & 'rh','temp_nudg','qv_nudg','u_nudg','v_nudg', &371 &'height_f','pressure_forc','tempt','theta','thv','thl','qvt','qlt','qit','rv','ut','vt', 'tket',&368 &'qvadv','qvadvh','qvadvv','thadv','thadvh','thadvv','thladvh', & ! #26 - #32 369 & 'radv','radvh','radvv','radcool','q1','q2','ustress','vstress', & ! #33 - #40 370 & 'rh','temp_nudg','qv_nudg','u_nudg','v_nudg', & ! #41-45 371 &'height_f','pressure_forc','tempt','theta','thv','thl','qvt','qlt','qit','rv','ut','vt', & ! #46-58 372 372 ! coordonnees temps #12 373 &' sfc_sens_flx','sfc_lat_flx','ts','ps','ustar',&373 &'tket','sfc_sens_flx','sfc_lat_flx','ts','ps','ustar',& 374 374 &'orog','albedo','emiss','t_skin','q_skin','mom_rough','heat_rough',& 375 375 ! scalaires #4 376 376 &'o3','rugos','clay','sand'/ 377 377 378 do i=1,nbvar3d 379 missing_var(i)=0. 380 enddo 381 378 !----------------------------------------------------------------------- 379 ! Checking availability of variable #i in the cas.nc file 380 ! missing_var=1 if the variable is missing 382 381 !----------------------------------------------------------------------- 383 382 384 383 do i=1,nbvar3d 384 missing_var(i)=0. 385 385 ierr=NF_INQ_VARID(nid,name_var(i),var3didin(i)) 386 386 if(ierr/=NF_NOERR) then … … 391 391 392 392 !----------------------------------------------------------------------- 393 ! Activati on de quelques cles en fonction des variables disponibles393 ! Activating keys depending on the presence of specific variables in cas.nc 394 394 !----------------------------------------------------------------------- 395 395 if ( 1 == 1 ) THEN … … 403 403 404 404 !----------------------------------------------------------------------- 405 if(i.LE.4) then ! Lecture des coord pression en (nlevelp1,lat,lon) 405 ! Reading variables 1D (N+1) vertical variables (nlevelp1,lat,lon) 406 !----------------------------------------------------------------------- 407 if(i.LE.4) then 406 408 #ifdef NC_DOUBLE 407 409 ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),apbp) … … 414 416 stop "getvarup" 415 417 endif 416 !----------------------------------------------------------------------- 417 else if(i.gt.4.and.i.LE.12) then ! Lecture des variables en (time,nlevel,lat,lon) 418 419 !----------------------------------------------------------------------- 420 ! Reading 1D (N) vertical varialbes (nlevel,lat,lon) 421 !----------------------------------------------------------------------- 422 else if(i.gt.4.and.i.LE.12) then 418 423 #ifdef NC_DOUBLE 419 424 ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul1) … … 427 432 endif 428 433 print*,'Lecture de la variable #i ',i,name_var(i),minval(resul1),maxval(resul1) 429 !----------------------------------------------------------------------- 430 else if(i.gt.12.and.i.LE.54) then ! Lecture des variables en (time,nlevel,lat,lon) 434 435 !----------------------------------------------------------------------- 436 ! Reading 2D tim-vertical variables (time,nlevel,lat,lon) 437 ! TBD : seems to be the same as above. 438 !----------------------------------------------------------------------- 439 else if(i.gt.12.and.i.LE.57) then 431 440 #ifdef NC_DOUBLE 432 441 ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul) … … 439 448 stop "getvarup" 440 449 endif 441 442 450 print*,'Lecture de la variable #i ',i,name_var(i),minval(resul),maxval(resul) 443 !----------------------------------------------------------------------- 444 else if (i.gt.54.and.i.LE.65) then ! Lecture des variables en (time,lat,lon) 451 452 !----------------------------------------------------------------------- 453 ! Reading 1D time variables (time,lat,lon) 454 !----------------------------------------------------------------------- 455 else if (i.gt.57.and.i.LE.63) then 445 456 #ifdef NC_DOUBLE 446 457 ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul2) … … 454 465 endif 455 466 print*,'Lecture de la variable #i ',i,name_var(i),minval(resul2),maxval(resul2) 456 !----------------------------------------------------------------------- 457 else ! Lecture des constantes (lat,lon) 467 468 !----------------------------------------------------------------------- 469 ! Reading scalar variables (lat,lon) 470 !----------------------------------------------------------------------- 471 else 458 472 #ifdef NC_DOUBLE 459 473 ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul3) … … 469 483 endif 470 484 endif 485 486 !----------------------------------------------------------------------- 487 ! Attributing variables 471 488 !----------------------------------------------------------------------- 472 489 select case(i) … … 528 545 case(56) ; u=resul 529 546 case(57) ; v=resul 530 case(58) ; tke =resul531 case(59) ; sens=resul2 ! donnees indexees en time547 case(58) ; tket=resul2 ! donnees indexees en time 548 case(59) ; sens=resul2 532 549 case(60) ; flat=resul2 533 550 case(61) ; ts=resul2 … … 563 580 u(k,t)=u0(k) 564 581 v(k,t)=v0(k) 565 tke(k,t)=tke0(k)582 !tke(k,t)=tke0(k) 566 583 enddo 567 584 enddo
Note: See TracChangeset
for help on using the changeset viewer.