Changeset 2720 for LMDZ5/branches/testing/libf/phylmd/dyn1d/lmdz1d.F90
- Timestamp:
- Nov 30, 2016, 1:28:41 PM (8 years ago)
- Location:
- LMDZ5/branches/testing
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/branches/testing
- Property svn:mergeinfo changed
/LMDZ5/trunk merged: 2665-2668,2670-2674,2677-2681,2683-2684,2686,2690-2719
- Property svn:mergeinfo changed
-
LMDZ5/branches/testing/libf/phylmd/dyn1d/lmdz1d.F90
r2641 r2720 21 21 zgam, zmax0, zmea, zpic, zsig, & 22 22 zstd, zthe, zval, ale_bl, ale_bl_trig, alp_bl 23 23 24 USE dimphy 24 25 USE surface_data, only : type_ocean,ok_veget … … 31 32 USE indice_sol_mod 32 33 USE phyaqua_mod 33 USE mod_1D_cases_read 34 ! USE mod_1D_cases_read 35 USE mod_1D_cases_read2 34 36 USE mod_1D_amma_read 35 37 USE print_control_mod, ONLY: lunout, prt_level … … 131 133 logical :: forcing_amma = .false. 132 134 logical :: forcing_dice = .false. 135 logical :: forcing_gabls4 = .false. 136 133 137 logical :: forcing_GCM2SCM = .false. 134 138 logical :: forcing_GCSSold = .false. … … 137 141 logical :: forcing_fire = .false. 138 142 logical :: forcing_case = .false. 143 logical :: forcing_case2 = .false. 139 144 integer :: type_ts_forcing ! 0 = SST constant; 1 = SST read from a file 140 145 ! (cf read_tsurf1d.F) … … 174 179 real :: pzero=1.e5 175 180 real :: play (llm),zlay (llm),sig_s(llm),plev(llm+1) 176 real :: playd(llm),zlayd(llm),ap_amma(llm+1),bp_amma(llm+1) ,poub181 real :: playd(llm),zlayd(llm),ap_amma(llm+1),bp_amma(llm+1) 177 182 178 183 !--------------------------------------------------------------------- … … 189 194 real :: du_phys(llm),dv_phys(llm),dt_phys(llm) 190 195 real :: dt_dyn(llm) 191 real :: dt_cooling(llm),d_t h_adv(llm),d_t_nudge(llm)196 real :: dt_cooling(llm),d_t_adv(llm),d_th_adv(llm),d_t_nudge(llm) 192 197 real :: d_u_nudge(llm),d_v_nudge(llm) 193 198 real :: du_adv(llm),dv_adv(llm) … … 322 327 ! Different stages: soil model alone, atm. model alone 323 328 ! then both models coupled 329 !forcing_type = 8 ==> forcing_gabls4 = .true. 330 ! initial profiles and large scale forcings in gabls4_driver.nc 324 331 !forcing_type >= 100 ==> forcing_case = .true. 325 332 ! initial profiles and large scale forcings in cas.nc … … 327 334 ! 101=cindynamo 328 335 ! 102=bomex 336 !forcing_type >= 100 ==> forcing_case2 = .true. 337 ! temporary flag while all the 1D cases are not whith the same cas.nc forcing file 338 ! 103=arm_cu2 ie arm_cu with new forcing format 339 ! 104=rico2 ie rico with new forcing format 329 340 !forcing_type = 40 ==> forcing_GCSSold = .true. 330 341 ! initial profile from GCSS file … … 363 374 elseif (forcing_type .eq.7) THEN 364 375 forcing_dice = .true. 376 elseif (forcing_type .eq.8) THEN 377 forcing_gabls4 = .true. 365 378 elseif (forcing_type .eq.101) THEN ! Cindynamo starts 1-10-2011 0h 366 379 forcing_case = .true. … … 375 388 mth_ini_cas=6 376 389 day_deb=24 390 heure_ini_cas=0. 391 pdt_cas=1800. ! forcing frequency 392 elseif (forcing_type .eq.103) THEN ! Arm_cu starts 21-6-1997 11h30 393 forcing_case2 = .true. 394 year_ini_cas=1997 395 mth_ini_cas=6 396 day_deb=21 397 heure_ini_cas=11.5 398 pdt_cas=1800. ! forcing frequency 399 elseif (forcing_type .eq.104) THEN ! rico starts 16-12-2004 0h 400 forcing_case2 = .true. 401 year_ini_cas=2004 402 mth_ini_cas=12 403 day_deb=16 377 404 heure_ini_cas=0. 378 405 pdt_cas=1800. ! forcing frequency … … 449 476 endif 450 477 print *,'fnday=',fnday 451 478 ! start_time doit etre en FRACTION DE JOUR 452 479 start_time=time_ini/24. 453 480 454 481 ! Special case for arm_cu which lasts less than one day : 53100s !! (MPL 20111026) 455 482 IF(forcing_type .EQ. 61) fnday=53100./86400. 483 IF(forcing_type .EQ. 103) fnday=53100./86400. 456 484 ! Special case for amma which lasts less than one day : 64800s !! (MPL 20120216) 457 485 IF(forcing_type .EQ. 6) fnday=64800./86400. 458 486 ! IF(forcing_type .EQ. 6) fnday=50400./86400. 487 IF(forcing_type .EQ. 8 ) fnday=129600./86400. 459 488 annee_ref = anneeref 460 489 mois = 1 … … 487 516 & (year_ini_dice,mth_ini_dice,day_ini_dice,heure_ini_dice & 488 517 & ,day_ju_ini_dice) 518 ELSEIF (forcing_type .eq.8 ) THEN 519 ! Convert the initial date of GABLS4 to Julian day 520 call ymds2ju & 521 & (year_ini_gabls4,mth_ini_gabls4,day_ini_gabls4,heure_ini_gabls4 & 522 & ,day_ju_ini_gabls4) 489 523 ELSEIF (forcing_type .gt.100) THEN 490 524 ! Convert the initial date to Julian day … … 492 526 print*,'time case',year_ini_cas,mth_ini_cas,day_ini_cas 493 527 call ymds2ju & 494 & (year_ini_cas,mth_ini_cas,day_ini_cas,heure_ini_cas 528 & (year_ini_cas,mth_ini_cas,day_ini_cas,heure_ini_cas*3600 & 495 529 & ,day_ju_ini_cas) 496 530 print*,'time case 2',day_ini_cas,day_ju_ini_cas … … 514 548 ENDIF 515 549 550 IF (forcing_type .gt.100) THEN 551 daytime = day + heure_ini_cas/24. ! 1st day and initial time of the simulation 552 ELSE 516 553 daytime = day + time_ini/24. ! 1st day and initial time of the simulation 554 ENDIF 517 555 ! Print out the actual date of the beginning of the simulation : 518 556 call ju2ymds(daytime,year_print, month_print,day_print,sec_print) … … 699 737 700 738 fder=0. 701 snsrf(1,:)= 0. ! couverture de neige des sous surface739 snsrf(1,:)=snowmass ! masse de neige des sous surface 702 740 qsurfsrf(1,:)=qsurf ! humidite de l'air des sous surface 703 741 fevap=0. 704 742 z0m(1,:)=rugos ! couverture de neige des sous surface 705 z0h(1,:)=rugos 743 z0h(1,:)=rugosh ! couverture de neige des sous surface 706 744 agesno = xagesno 707 745 tsoil(:,:,:)=tsurf … … 726 764 print*,'avant phyredem' 727 765 pctsrf(1,:)=0. 728 if (nat_surf.eq.0.) then766 if (nat_surf.eq.0.) then 729 767 pctsrf(1,is_oce)=1. 730 768 pctsrf(1,is_ter)=0. 731 else 769 pctsrf(1,is_lic)=0. 770 pctsrf(1,is_sic)=0. 771 else if (nat_surf .eq. 1) then 732 772 pctsrf(1,is_oce)=0. 733 773 pctsrf(1,is_ter)=1. 734 end if 774 pctsrf(1,is_lic)=0. 775 pctsrf(1,is_sic)=0. 776 else if (nat_surf .eq. 2) then 777 pctsrf(1,is_oce)=0. 778 pctsrf(1,is_ter)=0. 779 pctsrf(1,is_lic)=1. 780 pctsrf(1,is_sic)=0. 781 else if (nat_surf .eq. 3) then 782 pctsrf(1,is_oce)=0. 783 pctsrf(1,is_ter)=0. 784 pctsrf(1,is_lic)=0. 785 pctsrf(1,is_sic)=1. 786 787 end if 788 735 789 736 790 print*,'nat_surf,pctsrf(1,is_oce),pctsrf(1,is_ter)',nat_surf & … … 1005 1059 1006 1060 if (forcing_toga .or. forcing_GCSSold .or. forcing_twpice & 1007 & .or.forcing_amma ) then1061 & .or.forcing_amma .or. forcing_type.eq.101) then 1008 1062 fcoriolis=0.0 ; ug=0. ; vg=0. 1009 1063 endif 1010 if(forcing_rico) then 1064 1065 if(forcing_rico) then 1011 1066 dt_cooling=0. 1012 1067 endif 1013 1068 1014 1069 IF (prt_level >= 5) print*, 'fcoriolis, xlat,mxcalc ', & … … 1172 1227 !#endif 1173 1228 1229
Note: See TracChangeset
for help on using the changeset viewer.