Changeset 3594 for LMDZ6/trunk


Ignore:
Timestamp:
Oct 29, 2019, 7:32:03 AM (5 years ago)
Author:
fhourdin
Message:

Improvement for SCM standard format

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

Legend:

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

    r3593 r3594  
    549549       CALL getin('nudging_qv',nudging_qv)
    550550
     551       p_nudging_u=11000.
     552       p_nudging_v=11000.
     553       p_nudging_t=11000.
     554       p_nudging_qv=11000.
     555       CALL getin('p_nudging_u',p_nudging_u)
     556       CALL getin('p_nudging_v',p_nudging_v)
     557       CALL getin('p_nudging_t',p_nudging_t)
     558       CALL getin('p_nudging_qv',p_nudging_qv)
    551559
    552560!Config  Key  = nudging_t
  • LMDZ6/trunk/libf/phylmd/dyn1d/1D_interp_cases.h

    r3593 r3594  
    11
    22         print*,'FORCING CASE forcing_case2'
    3         print*,                                                             &
    4      & '#### ITAP,day,day1,(day-day1)*86400,(day-day1)*86400/pdt_cas=',     &
    5      &    daytime,day1,(daytime-day1)*86400.,                               &
    6      &    (daytime-day1)*86400/pdt_cas
     3!       print*,                                                             &
     4!    & '#### ITAP,day,day1,(day-day1)*86400,(day-day1)*86400/pdt_cas=',     &
     5!    &    daytime,day1,(daytime-day1)*86400.,                               &
     6!    &    (daytime-day1)*86400/pdt_cas
    77
    88! time interpolation:
  • LMDZ6/trunk/libf/phylmd/dyn1d/1D_nudge_sandu_astex.h

    r3223 r3594  
    3333
    3434
     35        print*,'OLDLMDZ1D IOPH'
     36      CALL iophys_ecrit('relax_thl',klev,'relax_thl','m/s',relax_thl)
     37      CALL iophys_ecrit('d_t_adv',klev,'d_t_adv','m/s',d_t_adv)
     38      CALL iophys_ecrit('temp',klev,'temp','m/s',temp)
     39      CALL iophys_ecrit('q',klev,'q','m/s',q(:,1))
     40      CALL iophys_ecrit('relax_q',klev,'relax_q','m/s',relax_q(:,1))
     41      CALL iophys_ecrit('d_q_adv',klev,'d_q_adv','m/s',d_q_adv(:,1))
     42
  • LMDZ6/trunk/libf/phylmd/dyn1d/compar1d.h

    r3593 r3594  
    4343      integer :: forc_omega, forc_u, forc_v, forc_w, forc_geo, forc_ustar
    4444      real    :: nudging_u, nudging_v, nudging_w, nudging_t, nudging_qv
     45      real    :: p_nudging_u, p_nudging_v, p_nudging_w, p_nudging_t, p_nudging_qv
    4546      common/com_par1d/                                                 &
    4647     & nat_surf,tsurf,rugos,rugosh,                                     &
     
    5253     & restart,ok_old_disvert,                                          &
    5354     & tadv, tadvv, tadvh, qadv, qadvv, qadvh, thadv, thadvv, thadvh,   &
    54      & trad, forc_omega, forc_u, forc_v, forc_w, forc_geo, forc_ustar,                  &
    55      & nudging_u, nudging_v, nudging_t, nudging_qv, nudging_w
     55     & trad, forc_omega, forc_u, forc_v, forc_w, forc_geo, forc_ustar,  &
     56     & nudging_u, nudging_v, nudging_t, nudging_qv, nudging_w,          &
     57     & p_nudging_u, p_nudging_v, p_nudging_t, p_nudging_qv, p_nudging_w
    5658
    5759!$OMP THREADPRIVATE(/com_par1d/)
  • LMDZ6/trunk/libf/phylmd/dyn1d/mod_1D_cases_read_std.F90

    r3593 r3594  
    393393! Activation de quelques cles en fonction des variables disponibles
    394394!-----------------------------------------------------------------------
     395if ( 1 == 0 ) THEN
    395396            if ( name_var(i) == 'temp_nudg' .and. nint(nudging_t)==0) stop 'Nudging inconsistency temp'
    396397            if ( name_var(i) == 'qv_nudg' .and. nint(nudging_qv)==0) stop 'Nudging inconsistency qv'
    397398            if ( name_var(i) == 'u_nudg' .and. nint(nudging_u)==0) stop 'Nudging inconsistency u'
    398399            if ( name_var(i) == 'v_nudg' .and. nint(nudging_u)==0) stop 'Nudging inconsistency v'
     400    ELSE
     401             print*,'GUIDAGE : CONSISTENCY CHECK DEACTIVATED FOR TESTS of SANDU/REF'
     402    ENDIF
    399403
    400404!-----------------------------------------------------------------------
     
    714718       time_cas1=(it_cas1-1)*pdt_cas
    715719       time_cas2=(it_cas2-1)*pdt_cas
    716       print *,'timeit,pdt_cas,nt_cas=',timeit,pdt_cas,nt_cas
    717       print *,'it_cas1,it_cas2,time_cas1,time_cas2=',it_cas1,it_cas2,time_cas1,time_cas2
     720!     print *,'timeit,pdt_cas,nt_cas=',timeit,pdt_cas,nt_cas
     721!     print *,'it_cas1,it_cas2,time_cas1,time_cas2=',it_cas1,it_cas2,time_cas1,time_cas2
    718722
    719723       if (it_cas1 .gt. nt_cas) then
  • LMDZ6/trunk/libf/phylmd/dyn1d/old_lmdz1d.F90

    r3593 r3594  
    12281228!! Increment state variables
    12291229!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     1230print*,'OLDLMDZ1D AANT'
    12301231    IF (flag_inhib_forcing == 0) then ! if tendency of forcings should be added
     1232print*,'OLDLMDZ1D ARES' , forcing_sandu
    12311233
    12321234! pour les cas sandu et astex, on reclacule u,v,q,temp et teta dans 1D_nudge_sandu_astex.h
     
    12661268     &             +dt_cooling(1:mxcalc))  ! Taux de chauffage ou refroid.
    12671269
     1270print*,'OLDLMDZ1D IOPH'
     1271      CALL iophys_ecrit('d_t_adv',klev,'d_t_adv','m/s',d_t_adv)
     1272      CALL iophys_ecrit('d_t_nudge',klev,'d_t_nudge','m/s',d_t_nudge)
     1273
    12681274      endif  ! forcing_sandu or forcing_astex
    12691275
  • LMDZ6/trunk/libf/phylmd/dyn1d/scm.F90

    r3593 r3594  
    10111011      d_v_nudge(:) = 0.
    10121012      d_q_nudge(:,:) = 0.
    1013       print*,'GUIDAGE ABSURDE POUR SANDU '
    1014       nudging_t=0.
    1015       nudging_qv=0.
    1016       IF ( nint(nudging_t) /= 0 ) d_t_nudge(:)=(temp_nudg_mod_cas(:)-temp(:))/nudging_t
    1017       IF ( nint(nudging_qv) /= 0 ) d_q_nudge(:,1)  =(qv_nudg_mod_cas(:)  -q(:,1) )/nudging_qv
    1018       IF ( nint(nudging_u*nudging_v) /= 0 ) THEN
    1019               d_u_nudge(:)=(u_nudg_mod_cas(:)-u(:))/nudging_u
    1020               d_v_nudge(:)=(v_nudg_mod_cas(:)-v(:))/nudging_u
    1021       ENDIF
    1022       !CALL iophys_ecrit('qv',klev,'qv','g/kg',1000*q(:,1))
    1023       !CALL iophys_ecrit('qvnud',klev,'qvnud','g/kg',1000*u_nudg_mod_cas)
    1024       !CALL iophys_ecrit('u',klev,'u','m/s',u)
    1025       !CALL iophys_ecrit('unud',klev,'unud','m/s',u_nudg_mod_cas)
    1026       !CALL iophys_ecrit('v',klev,'v','m/s',v)
    1027       !CALL iophys_ecrit('vnud',klev,'vnud','m/s',v_nudg_mod_cas)
     1013      DO l=1,llm
     1014         IF ( play(l) < p_nudging_u .AND. nint(nudging_u) /= 0 ) &
     1015             & d_u_nudge(l)=(u_nudg_mod_cas(l)-u(l))/nudging_u
     1016         IF ( play(l) < p_nudging_v .AND. nint(nudging_v) /= 0 ) &
     1017             & d_v_nudge(l)=(v_nudg_mod_cas(l)-v(l))/nudging_v
     1018         IF ( play(l) < p_nudging_t .AND. nint(nudging_t) /= 0 ) &
     1019             & d_t_nudge(l)=(temp_nudg_mod_cas(l)-temp(l))/nudging_t
     1020         IF ( play(l) < p_nudging_qv .AND. nint(nudging_qv) /= 0 ) &
     1021             & d_q_nudge(l,1)=(qv_nudg_mod_cas(l)-q(l,1))/nudging_qv
     1022      ENDDO
     1023      CALL iophys_ecrit('qv',klev,'qv','g/kg',1000*q(:,1))
     1024      CALL iophys_ecrit('qvnud',klev,'qvnud','g/kg',1000*u_nudg_mod_cas)
     1025      CALL iophys_ecrit('u',klev,'u','m/s',u)
     1026      CALL iophys_ecrit('unud',klev,'unud','m/s',u_nudg_mod_cas)
     1027      CALL iophys_ecrit('v',klev,'v','m/s',v)
     1028      CALL iophys_ecrit('vnud',klev,'vnud','m/s',v_nudg_mod_cas)
     1029      CALL iophys_ecrit('dtnud',klev,'dtnud','K/day',86400*d_t_nudge)
     1030      CALL iophys_ecrit('dqnud',klev,'dqnud','K/day',1000*86400*d_q_nudge(:,1))
    10281031
    10291032!
     
    11091112     &             +dt_cooling(1:mxcalc))  ! Taux de chauffage ou refroid.
    11101113
    1111        print*,'MXCALC d_t_adv ',mxcalc,d_t_adv(1:20)*86400
    11121114
    11131115!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Note: See TracChangeset for help on using the changeset viewer.