Changeset 4297


Ignore:
Timestamp:
Oct 14, 2022, 10:13:21 PM (19 months ago)
Author:
evignon
Message:

technical corrections (+cleaning) to make standard BOMEX case work

Location:
LMDZ6/trunk/libf/phylmd/dyn1d
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/dyn1d/1D_interp_cases.h

    r4104 r4297  
    1010!    &       ,year_ini_cas,day_ju_ini_cas,nt_cas,pdt_cas,nlev_cas                           &
    1111     &       ,nt_cas,nlev_cas                                                               &
    12      &       ,ts_cas,ps_cas,plev_cas,t_cas,th_cas,thv_cas,thl_cas,qv_cas,ql_cas,qi_cas      &
     12     &       ,ts_cas,tskin_cas,ps_cas,plev_cas,t_cas,th_cas,thv_cas,thl_cas,qv_cas,ql_cas,qi_cas      &
    1313     &       ,u_cas,v_cas,ug_cas,vg_cas                                                     &
    1414     &       ,temp_nudg_cas,qv_nudg_cas,u_nudg_cas,v_nudg_cas                               &
     
    1919     &       ,uw_cas,vw_cas,q1_cas,q2_cas,tkes_cas                                           &
    2020!
    21      &       ,ts_prof_cas,ps_prof_cas,plev_prof_cas,t_prof_cas,theta_prof_cas,thv_prof_cas  &
     21     &       ,ts_prof_cas,tskin_prof_cas,ps_prof_cas,plev_prof_cas,t_prof_cas,theta_prof_cas,thv_prof_cas  &
    2222     &       ,thl_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                              &
    2323     &       ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas                                 &
     
    3131     &       ,sens_prof_cas,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas,tkes_prof_cas)
    3232! EV tg instead of ts_cur
    33              tg = ts_prof_cas
     33             tg = ts_prof_cas
     34             if ((tg .eq. 0.) .and. (tskin_prof_cas .ne. 0.)) then
     35                tg=tskin_prof_cas
     36              endif
     37
    3438!            psurf=plev_prof_cas(1)
    3539             psurf=ps_prof_cas
  • LMDZ6/trunk/libf/phylmd/dyn1d/1D_read_forc_cases.h

    r4291 r4297  
    2424!    &       ,year_ini_cas,day_ju_ini_cas,nt_cas,pdt_cas,nlev_cas                           &
    2525     &       ,nt_cas,nlev_cas                                                               &
    26      &       ,ts_cas,ps_cas,plev_cas,t_cas,th_cas,thv_cas,thl_cas,qv_cas,ql_cas,qi_cas      &
     26     &       ,ts_cas,tskin_cas,ps_cas,plev_cas,t_cas,th_cas,thv_cas,thl_cas,qv_cas,ql_cas,qi_cas      &
    2727     &       ,u_cas,v_cas,ug_cas,vg_cas                                                     &
    2828     &       ,temp_nudg_cas,qv_nudg_cas,u_nudg_cas,v_nudg_cas                               &
     
    3333     &       ,uw_cas,vw_cas,q1_cas,q2_cas,tkes_cas                                           &
    3434!
    35      &       ,ts_prof_cas,ps_prof_cas,plev_prof_cas,t_prof_cas,theta_prof_cas,thv_prof_cas  &
     35     &       ,ts_prof_cas,tskin_prof_cas,ps_prof_cas,plev_prof_cas,t_prof_cas,theta_prof_cas,thv_prof_cas  &
    3636     &       ,thl_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                              &
    3737     &       ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas                                 &
     
    7373
    7474! initial and boundary conditions :
    75 !     tsurf = ts_prof_cas
    7675      psurf = ps_prof_cas
    77       !EV tg instead of ts_cur
    78       tg = ts_prof_cas
     76      if (tskin_prof_cas .NE. 0.) THEN
     77          tsurf=tskin_prof_cas
     78      endif
     79
     80      tg = ts_prof_cas
     81      if ((tg .eq. 0.) .and. (tskin_prof_cas .NE. 0.)) THEN
     82          tg=tskin_prof_cas
     83      endif
     84
     85
    7986
    8087      do l = 1, llm
  • LMDZ6/trunk/libf/phylmd/dyn1d/mod_1D_cases_read_std.F90

    r4290 r4297  
    3030  real, allocatable::  temp_nudg_cas(:,:),qv_nudg_cas(:,:),u_nudg_cas(:,:),v_nudg_cas(:,:)
    3131  real, allocatable::  invtau_temp_nudg_cas(:,:),invtau_qv_nudg_cas(:,:),invtau_u_nudg_cas(:,:),invtau_v_nudg_cas(:,:)
    32   real, allocatable::  lat_cas(:),sens_cas(:),ts_cas(:),ps_cas(:),ustar_cas(:)
     32  real, allocatable::  lat_cas(:),sens_cas(:),tskin_cas(:),ts_cas(:),ps_cas(:),ustar_cas(:)
    3333  real, allocatable::  uw_cas(:,:),vw_cas(:,:),q1_cas(:,:),q2_cas(:,:),tkes_cas(:)
    3434
     
    7777
    7878
    79   real o3_cas,lat_prof_cas,sens_prof_cas,ts_prof_cas,ps_prof_cas,ustar_prof_cas,tkes_prof_cas
    80   real orog_cas,albedo_cas,emiss_cas,t_skin_cas,q_skin_cas,mom_rough,heat_rough,rugos_cas,sand_cas,clay_cas
     79  real o3_cas,lat_prof_cas,sens_prof_cas,ts_prof_cas,tskin_prof_cas,ps_prof_cas,ustar_prof_cas,tkes_prof_cas
     80  real orog_cas,albedo_cas,emiss_cas,q_skin_cas,mom_rough,heat_rough,rugos_cas,sand_cas,clay_cas
    8181
    8282
     
    181181    allocate(invtau_temp_nudg_cas(nlev_cas,nt_cas),invtau_qv_nudg_cas(nlev_cas,nt_cas))
    182182    allocate(invtau_u_nudg_cas(nlev_cas,nt_cas),invtau_v_nudg_cas(nlev_cas,nt_cas))
    183     allocate(lat_cas(nt_cas),sens_cas(nt_cas),ts_cas(nt_cas),ps_cas(nt_cas),ustar_cas(nt_cas),tkes_cas(nt_cas))
     183    allocate(lat_cas(nt_cas),sens_cas(nt_cas),ts_cas(nt_cas),tskin_cas(nt_cas),ps_cas(nt_cas),ustar_cas(nt_cas),tkes_cas(nt_cas))
    184184    allocate(uw_cas(nlev_cas,nt_cas),vw_cas(nlev_cas,nt_cas),q1_cas(nlev_cas,nt_cas),q2_cas(nlev_cas,nt_cas))
    185185
     
    238238         du_cas,hu_cas,vu_cas,                                                                                &
    239239         dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dq_cas,hq_cas,vq_cas,dth_cas,hth_cas,vth_cas,               &
    240          dr_cas,hr_cas,vr_cas,dtrad_cas,sens_cas,lat_cas,ts_cas,ps_cas,ustar_cas,tkes_cas,                      &
    241          uw_cas,vw_cas,q1_cas,q2_cas,orog_cas,albedo_cas,emiss_cas,t_skin_cas,q_skin_cas,mom_rough,heat_rough, &
     240         dr_cas,hr_cas,vr_cas,dtrad_cas,sens_cas,lat_cas,ts_cas,tskin_cas,ps_cas,ustar_cas,tkes_cas,            &
     241         uw_cas,vw_cas,q1_cas,q2_cas,orog_cas,albedo_cas,emiss_cas,q_skin_cas,mom_rough,heat_rough, &
    242242         o3_cas,rugos_cas,clay_cas,sand_cas)
    243243    print*,'read_SCM cas OK'
     
    271271    deallocate(ug_cas)
    272272    deallocate(vg_cas)
    273     deallocate(lat_cas,sens_cas,ts_cas,ps_cas,ustar_cas,tkes_cas,uw_cas,vw_cas,q1_cas,q2_cas)
     273    deallocate(lat_cas,sens_cas,tskin_cas,ts_cas,ps_cas,ustar_cas,tkes_cas,uw_cas,vw_cas,q1_cas,q2_cas)
    274274
    275275    !champs interpoles
     
    324324       invtau_temp_nudg,invtau_qv_nudg,invtau_u_nudg,invtau_v_nudg,             &
    325325       du,hu,vu,dv,hv,vv,dt,ht,vt,dq,hq,vq,                                    &
    326        dth,hth,vth,dr,hr,vr,dtrad,sens,flat,ts,ps,ustar,tkes,uw,vw,q1,q2,       &
    327        orog_cas,albedo_cas,emiss_cas,t_skin_cas,q_skin_cas,mom_rough,          &
     326       dth,hth,vth,dr,hr,vr,dtrad,sens,flat,ts,tskin,ps,ustar,tkes,uw,vw,q1,q2,       &
     327       orog_cas,albedo_cas,emiss_cas,q_skin_cas,mom_rough,          &
    328328       heat_rough,o3_cas,rugos_cas,clay_cas,sand_cas)
    329329
     
    358358    real flat(ntime),sens(ntime),ustar(ntime)
    359359    real uw(nlevel,ntime),vw(nlevel,ntime),q1(nlevel,ntime),q2(nlevel,ntime)
    360     real ts(ntime),ps(ntime)
    361     real orog_cas,albedo_cas,emiss_cas,t_skin_cas,q_skin_cas,mom_rough,heat_rough,o3_cas,rugos_cas,clay_cas,sand_cas
     360    real ts(ntime),tskin(ntime),ps(ntime)
     361    real orog_cas,albedo_cas,emiss_cas,q_skin_cas,mom_rough,heat_rough,o3_cas,rugos_cas,clay_cas,sand_cas
    362362    real apbp(nlevel+1),resul(nlevel,ntime),resul1(nlevel),resul2(ntime),resul3
    363363
     
    402402         'nudging_constant_ta', 'nudging_constant_qv', 'nudging_constant_ua', 'nudging_constant_va',           & ! # 58-61
    403403                                ! coordonnees temps #12
    404          'tkes','hfss','hfls','ts_forc','ps_forc','ustar', &                                        ! 62-67
    405          'orog','albedo','emiss','t_skin','q_skin','z0','z0h',       &                    ! 68-74
    406                                 ! scalaires #4                               
     404         'tkes','hfss','hfls','ts_forc','tskin','ps_forc','ustar', &                     ! 62-68
     405                                  ! scalaires
     406         'orog','albedo','emiss','q_skin','z0','z0h',       &                    ! 69-74
    407407         'O3','rugos','clay','sand'/                                                      ! 75-78
    408408
     
    583583       case(64) ; flat=resul2
    584584       case(65) ; ts=resul2
    585        case(66) ; ps=resul2
    586        case(67) ; ustar=resul2
    587        case(68) ; orog_cas=resul3      ! constantes
    588        case(69) ; albedo_cas=resul3
    589        case(70) ; emiss_cas=resul3
    590        case(71) ; t_skin_cas=resul3
     585       case(66) ; tskin=resul2       
     586       case(67) ; ps=resul2
     587       case(68) ; ustar=resul2
     588       case(69) ; orog_cas=resul3      ! constantes
     589       case(70) ; albedo_cas=resul3
     590       case(71) ; emiss_cas=resul3
    591591       case(72) ; q_skin_cas=resul3
    592592       case(73) ; mom_rough=resul3
     
    633633       !    &         ,year_cas,day_cas,nt_cas,pdt_forc,nlev_cas                         &
    634634       ,nt_cas,nlev_cas                                                   &
    635        ,ts_cas,ps_cas,plev_cas,t_cas,theta_cas,thv_cas,thl_cas            &
     635       ,ts_cas,tskin_cas,ps_cas,plev_cas,t_cas,theta_cas,thv_cas,thl_cas            &
    636636       ,qv_cas,ql_cas,qi_cas,u_cas,v_cas                                  &
    637637       ,ug_cas,vg_cas,temp_nudg_cas,qv_nudg_cas,u_nudg_cas,v_nudg_cas     &
     
    643643       ,uw_cas,vw_cas,q1_cas,q2_cas,tkes_cas                               &
    644644       !
    645        ,ts_prof_cas,ps_prof_cas,plev_prof_cas,t_prof_cas,theta_prof_cas               &
     645       ,ts_prof_cas,tskin_prof_cas,ps_prof_cas,plev_prof_cas,t_prof_cas,theta_prof_cas               &
    646646       ,thv_prof_cas,thl_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas     &
    647647       ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas                     &
     
    678678    integer nt_cas,nlev_cas
    679679    real day, day1,day_cas
    680     real ts_cas(nt_cas),ps_cas(nt_cas)
     680    real ts_cas(nt_cas),tskin_cas(nt_cas),ps_cas(nt_cas)
    681681    real plev_cas(nlev_cas,nt_cas)
    682682    real t_cas(nlev_cas,nt_cas),theta_cas(nlev_cas,nt_cas)
     
    721721    real dtrad_prof_cas(nlev_cas)
    722722    real dq_prof_cas(nlev_cas),hq_prof_cas(nlev_cas),vq_prof_cas(nlev_cas)
    723     real lat_prof_cas,sens_prof_cas,tkes_prof_cas,ts_prof_cas,ps_prof_cas,ustar_prof_cas
     723    real lat_prof_cas,sens_prof_cas,tkes_prof_cas,ts_prof_cas,tskin_prof_cas,ps_prof_cas,ustar_prof_cas
    724724    real uw_prof_cas(nlev_cas),vw_prof_cas(nlev_cas),q1_prof_cas(nlev_cas),q2_prof_cas(nlev_cas)
    725725    ! local:
     
    809809    ts_prof_cas = ts_cas(it_cas2)                                     &
    810810         -frac*(ts_cas(it_cas2)-ts_cas(it_cas1))
     811    tskin_prof_cas = tskin_cas(it_cas2)                                     &
     812         -frac*(tskin_cas(it_cas2)-tskin_cas(it_cas1))
    811813    ps_prof_cas = ps_cas(it_cas2)                                     &
    812814         -frac*(ps_cas(it_cas2)-ps_cas(it_cas1))
  • LMDZ6/trunk/libf/phylmd/dyn1d/scm.F90

    r4104 r4297  
    496496        stop 'in initialization'
    497497      endif ! forcing_GCM2SCM
    498 
    499       print*,'mxcalc=',mxcalc
    500 !     print*,'zlay=',zlay(mxcalc)
    501 !      print*,'play=',play(mxcalc)
    502 
    503 !! When surface temperature is forced
    504       tg= tsurf ! surface T used in read_tsurf1d
    505498
    506499
Note: See TracChangeset for help on using the changeset viewer.