Ignore:
Timestamp:
Sep 11, 2024, 4:27:07 PM (2 months ago)
Author:
abarral
Message:

Replace REPROBUS CPP KEY by logical using handmade wonky wrapper

Location:
LMDZ6/branches/Amaury_dev/libf/phylmdiso
Files:
1 edited
3 moved

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/physiq_mod.F90

    r5173 r5185  
    116116    USE lmdz_calcul_divers, ONLY: calcul_divers
    117117
    118     USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_DUST, CPPKEY_STRATAER, CPPKEY_COSP, CPPKEY_COSP2, CPPKEY_COSPV2
     118    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_DUST, CPPKEY_STRATAER, CPPKEY_COSP, CPPKEY_COSP2, CPPKEY_COSPV2, &
     119            CPPKEY_REPROBUS
    119120
    120121!!!!!!!!!!!!!!!!!! "USE" section for CPP keys !!!!!!!!!!!!!!!!!!!!!!!!
    121122
    122123
    123 #ifdef REPROBUS
    124     USE chem_rep, ONLY: Init_chem_rep_xjour, d_q_rep, d_ql_rep, d_qi_rep, &
     124    USE lmdz_reprobus_wrappers, ONLY: Init_chem_rep_xjour, d_q_rep, d_ql_rep, d_qi_rep, &
    125125                        ptrop, ttrop, ztrop, gravit, itroprep, Z1, Z2, fac, B
    126126    USE strataer_local_var_mod
    127127    USE strataer_emiss_mod, ONLY: strataer_emiss_init
    128 #endif
    129128
    130129#ifdef CPP_RRTM
     
    14821481          CALL regr_horiz_time_climoz(read_climoz,ok_daily_climoz)
    14831482
    1484 #ifdef REPROBUS
    1485        CALL strataer_init
    1486        CALL strataer_emiss_init
    1487 #endif
     1483       IF (CPPKEY_REPROBUS) THEN
     1484         CALL strataer_init
     1485         CALL strataer_emiss_init
     1486       END IF
    14881487
    14891488IF (CPPKEY_STRATAER) THEN
     
    23732372
    23742373       IF (type_trac == 'repr') THEN
    2375 #ifdef REPROBUS
    2376           CALL chemini_rep(  &
    2377                presnivs, &
    2378                pdtphys, &
    2379                annee_ref, &
    2380                day_ref, &
    2381                day_ini, &
    2382                start_time, &
    2383                itau_phy, &
    2384                io_lon, &
    2385                io_lat)
    2386 #endif
     2374         IF (CPPKEY_REPROBUS) THEN
     2375           CALL chemini_rep(&
     2376                   presnivs, &
     2377                   pdtphys, &
     2378                   annee_ref, &
     2379                   day_ref, &
     2380                   day_ini, &
     2381                   start_time, &
     2382                   itau_phy, &
     2383                   io_lon, &
     2384                   io_lat)
     2385         END IF
    23872386       ENDIF
    23882387
     
    24902489    ! Update time and other variables in Reprobus
    24912490    IF (type_trac == 'repr') THEN
    2492 #ifdef REPROBUS
    2493        CALL Init_chem_rep_xjour(jD_cur-jD_ref+day_ref)
    2494        PRINT*,'xjour equivalent rjourvrai',jD_cur-jD_ref+day_ref
    2495        CALL Rtime(debut)
    2496 #endif
     2491      IF (CPPKEY_REPROBUS) THEN
     2492        CALL Init_chem_rep_xjour(jD_cur - jD_ref + day_ref)
     2493        PRINT*, 'xjour equivalent rjourvrai', jD_cur - jD_ref + day_ref
     2494        CALL Rtime(debut)
     2495      END IF
    24972496    ENDIF
    24982497
     
    29362935
    29372936          wo(:,:,1)=ozonecm(latitude_deg, paprs,read_climoz,rjour=zzz)
    2938 #ifdef REPROBUS
    2939           ptrop=dyn_tropopause(t_seri, ztsol, paprs, pplay, rot)/100.
    2940           DO i = 1, klon
    2941              Z1=t_seri(i,itroprep(i)+1)
    2942              Z2=t_seri(i,itroprep(i))
    2943              fac=(Z1-Z2)/alog(pplay(i,itroprep(i)+1)/pplay(i,itroprep(i)))
    2944              B=Z2-fac*alog(pplay(i,itroprep(i)))
    2945              ttrop(i)= fac*alog(ptrop(i))+B
    2946 
    2947              Z1= 1.e-3 * ( pphi(i,itroprep(i)+1)+pphis(i) ) / gravit
    2948              Z2= 1.e-3 * ( pphi(i,itroprep(i))  +pphis(i) ) / gravit
    2949              fac=(Z1-Z2)/alog(pplay(i,itroprep(i)+1)/pplay(i,itroprep(i)))
    2950              B=Z2-fac*alog(pplay(i,itroprep(i)))
    2951              ztrop(i)=fac*alog(ptrop(i))+B
    2952           ENDDO
    2953 #endif
     2937          IF (CPPKEY_REPROBUS) THEN
     2938            ptrop = dyn_tropopause(t_seri, ztsol, paprs, pplay, rot) / 100.
     2939            DO i = 1, klon
     2940              Z1 = t_seri(i, itroprep(i) + 1)
     2941              Z2 = t_seri(i, itroprep(i))
     2942              fac = (Z1 - Z2) / alog(pplay(i, itroprep(i) + 1) / pplay(i, itroprep(i)))
     2943              B = Z2 - fac * alog(pplay(i, itroprep(i)))
     2944              ttrop(i) = fac * alog(ptrop(i)) + B
     2945
     2946              Z1 = 1.e-3 * (pphi(i, itroprep(i) + 1) + pphis(i)) / gravit
     2947              Z2 = 1.e-3 * (pphi(i, itroprep(i)) + pphis(i)) / gravit
     2948              fac = (Z1 - Z2) / alog(pplay(i, itroprep(i) + 1) / pplay(i, itroprep(i)))
     2949              B = Z2 - fac * alog(pplay(i, itroprep(i)))
     2950              ztrop(i) = fac * alog(ptrop(i)) + B
     2951            ENDDO
     2952          END IF
    29542953       ELSE
    29552954          !--- ro3i = elapsed days number since current year 1st january, 0h
     
    56025601    ENDIF !type_trac = inca or inco
    56035602    IF (type_trac == 'repr') THEN
    5604 #ifdef REPROBUS
    5605     !CALL chemtime_rep(itap+itau_phy-1, date0, dtime, itap)
    5606     CALL chemtime_rep(itap+itau_phy-1, date0, phys_tstep, itap)
    5607 #endif
     5603      IF (CPPKEY_REPROBUS) THEN
     5604        !CALL chemtime_rep(itap+itau_phy-1, date0, dtime, itap)
     5605        CALL chemtime_rep(itap + itau_phy - 1, date0, phys_tstep, itap)
     5606      END IF
    56085607    ENDIF
    56095608
     
    67886787!MM                               dans Reprobus
    67896788       sh_in(:,:) = q_seri(:,:)
    6790 #ifdef REPROBUS
    6791        d_q_rep(:,:) = 0.
    6792        d_ql_rep(:,:) = 0.
    6793        d_qi_rep(:,:) = 0.
    6794 #endif
     6789       IF (CPPKEY_REPROBUS) THEN
     6790         d_q_rep(:, :) = 0.
     6791         d_ql_rep(:, :) = 0.
     6792         d_qi_rep(:, :) = 0.
     6793       END IF
    67956794    ELSE
    67966795       sh_in(:,:) = qx(:,:,ivap)
     
    68456844         d_tr_dyn, &                                 !<<RomP
    68466845         tr_seri, init_source)
    6847 #ifdef REPROBUS
    6848 
    6849 
    6850           PRINT*,'avt add phys rep',abortphy
    6851 
    6852      CALL add_phys_tend &
    6853             (du0,dv0,dt0,d_q_rep,d_ql_rep,d_qi_rep,dqbs0,paprs,&
    6854              'rep',abortphy,flag_inhib_tend,itap,0)
    6855         IF (abortphy==1) Print*,'ERROR ABORT REP'
    6856 
    6857           PRINT*,'apr add phys rep',abortphy
    6858 
    6859 #endif
     6846      IF (CPPKEY_REPROBUS) THEN
     6847#ifdef ISO
     6848        CALL abort_gcm("physiq_mod", "StratAer isn't ISO-compatible for now, 07/24",1)
     6849#else
     6850
     6851        PRINT*, 'avt add phys rep', abortphy
     6852
     6853        CALL add_phys_tend &
     6854                (du0, dv0, dt0, d_q_rep, d_ql_rep, d_qi_rep, dqbs0, paprs, &
     6855                'rep', abortphy, flag_inhib_tend, itap, 0)
     6856        IF (abortphy==1) Print*, 'ERROR ABORT REP'
     6857
     6858        PRINT*, 'apr add phys rep', abortphy
     6859#endif
     6860      END IF
     6861
    68606862    ENDIF    ! (iflag_phytrac=1)
    68616863
     
    70367038
    70377039    IF (type_trac == 'repr') THEN
    7038 #ifdef REPROBUS
     7040      IF (CPPKEY_REPROBUS) THEN
    70397041        CALL coord_hyb_rep(paprs, pplay, aps, bps, ap, bp, cell_area)
    7040 #endif
     7042      END IF
    70417043    ENDIF
    70427044
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/radiation_AR4.f90

    r5184 r5185  
    1 link ../phylmd/radiation_AR4.F90
     1link ../phylmd/radiation_AR4.f90
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/tracreprobus_mod.f90

    r5184 r5185  
    1 link ../phylmd/tracreprobus_mod.F90
     1link ../phylmd/tracreprobus_mod.f90
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/tropopause_m.f90

    r5184 r5185  
    1 link ../phylmd/tropopause_m.F90
     1link ../phylmd/tropopause_m.f90
Note: See TracChangeset for help on using the changeset viewer.