Ignore:
Timestamp:
Jul 24, 2024, 4:23:34 PM (4 months ago)
Author:
abarral
Message:

rename modules properly lmdz_*
move some unused files to obsolete/
(lint) uppercase fortran keywords

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/libf/phylmd/pbl_surface_mod.F90

    r5116 r5117  
    3030  USE wx_pbl_mod, ONLY: wx_pbl0_merge, wx_pbl_split, wx_pbl_dts_merge, &
    3131          wx_pbl_check, wx_pbl_dts_check, wx_evappot
    32   use config_ocean_skin_m, ONLY: activate_ocean_skin
     32  USE config_ocean_skin_m, ONLY: activate_ocean_skin
    3333  USE lmdz_abort_physic, ONLY: abort_physic
    3434#ifdef ISO
     
    6868
    6969  !FC
    70   !  integer, save :: iflag_frein
     70  !  INTEGER, save :: iflag_frein
    7171  !  !$OMP THREADPRIVATE(iflag_frein)
    7272
     
    217217    CHARACTER(len=80)             :: abort_message
    218218    CHARACTER(len = 20)           :: modname = 'pbl_surface_init'
    219     integer i,ixt
     219    INTEGER i,ixt
    220220
    221221!****************************************************************************************
     
    393393    USE carbon_cycle_mod, ONLY: carbon_cycle_cpl, carbon_cycle_tr, level_coupling_esm
    394394    USE carbon_cycle_mod, ONLY: co2_send, nbcf_out, fields_out, yfields_out, cfname_out
    395     use hbtm_mod, ONLY: hbtm
     395    USE hbtm_mod, ONLY: hbtm
    396396    USE indice_sol_mod
    397397    USE time_phylmdz_mod, ONLY: day_ini, annee_ref, itau_phy
     
    408408#endif
    409409    USE lmdz_ioipsl_getin_p, ONLY:getin_p
    410     use phys_state_var_mod, ONLY: ds_ns, dt_ns, delta_sst, delta_sal, dter, &
     410    USE phys_state_var_mod, ONLY: ds_ns, dt_ns, delta_sst, delta_sal, dter, &
    411411            dser, dt_ds, zsig, zmea
    412     use phys_output_var_mod, ONLY: tkt, tks, taur, sss
    413     use lmdz_blowing_snow_ini, ONLY: zeta_bs
    414     USE wxios, ONLY: missing_val_xios => missing_val, using_xios
     412    USE phys_output_var_mod, ONLY: tkt, tks, taur, sss
     413    USE lmdz_blowing_snow_ini, ONLY: zeta_bs
     414    USE lmdz_wxios, ONLY: missing_val_xios => missing_val, using_xios
    415415    USE netcdf, ONLY: missing_val_netcdf => nf90_fill_real
    416416
     
    487487    !wake and off-wake regions
    488488    !albedo SB >>>
    489     REAL, DIMENSIOn(6), intent(in) :: SFRWL
     489    REAL, DIMENSIOn(6), INTENT(IN) :: SFRWL
    490490    REAL, DIMENSION(klon, nsw, nbsrf), INTENT(INOUT) :: alb_dir, alb_dif
    491491    !albedo SB <<<
     
    12541254 xtevap(:,:,:)=0.
    12551255#endif
    1256     IF (iflag_pbl<20.or.iflag_pbl>=30) THEN
     1256    IF (iflag_pbl<20.OR.iflag_pbl>=30) THEN
    12571257      zcoefh(:, :, :) = 0.0
    12581258      zcoefh(:, 1, :) = 999999. ! zcoefh(:,k=1) should never be used
     
    18441844      ENDIF
    18451845
    1846       if (nsrf == is_oce .and. activate_ocean_skin >= 1) THEN
    1847         if (activate_ocean_skin == 2 .and. type_ocean == "couple") THEN
     1846      IF (nsrf == is_oce .AND. activate_ocean_skin >= 1) THEN
     1847        IF (activate_ocean_skin == 2 .AND. type_ocean == "couple") THEN
    18481848          ydelta_sal(:knon) = delta_sal(ni(:knon))
    18491849          ydelta_sst(:knon) = delta_sst(ni(:knon))
     
    18991899
    19001900        IF (prt_level >=10) print *, 'cdrag -> ycdragh ', ycdragh(1:knon)
    1901       ELSE  !(iflag_split .eq.0)
     1901      ELSE  !(iflag_split .EQ.0)
    19021902
    19031903        ! Faire disparaitre les lignes commentees fin 2015 (le temps des tests)
     
    19621962        IF (prt_level >=10) print *, 'clcdrag -> ycdragh_w ', ycdragh_w(1:knon)
    19631963        !!!
    1964       ENDIF  ! (iflag_split .eq.0)
     1964      ENDIF  ! (iflag_split .EQ.0)
    19651965      !!!
    19661966
     
    20142014        IF (prt_level >=10) print *, 'coef_diff_turb -> ycoefh ', ycoefh(1:knon, :)
    20152015
    2016       ELSE  !(iflag_split .eq.0)
     2016      ELSE  !(iflag_split .EQ.0)
    20172017
    20182018        IF (prt_level >=10) THEN
     
    21052105        ENDDO
    21062106
    2107       ENDIF  ! (iflag_split .eq.0)
     2107      ENDIF  ! (iflag_split .EQ.0)
    21082108
    21092109
     
    21342134#endif
    21352135        )
    2136       ELSE  !(iflag_split .eq.0)
     2136      ELSE  !(iflag_split .EQ.0)
    21372137        CALL climb_hq_down(knon, ycoefh_x, ypaprs, ypplay, &
    21382138        ydelp, yt_x, yq_x, dtime, &
     
    21732173        ENDIF
    21742174        !!!
    2175       ENDIF  ! (iflag_split .eq.0)
     2175      ENDIF  ! (iflag_split .EQ.0)
    21762176      !!!
    21772177
     
    21862186                !!!
    21872187                AcoefU, AcoefV, BcoefU, BcoefV)
    2188       ELSE  ! (iflag_split .eq.0)
     2188      ELSE  ! (iflag_split .EQ.0)
    21892189        CALL climb_wind_down(knon, dtime, ycoefm_x, ypplay, ypaprs, yt_x, ydelp, yu_x, yv_x, &
    21902190                !!! nrlmd le 02/05/2011
     
    22012201                AcoefU_w, AcoefV_w, BcoefU_w, BcoefV_w)
    22022202        !!!
    2203       ENDIF  ! (iflag_split .eq.0)
     2203      ENDIF  ! (iflag_split .EQ.0)
    22042204      !!!
    22052205
     
    22652265        !******************************************************************************
    22662266
    2267         IF (f_z0qh_oce /= 1. .and. nsrf ==is_oce) THEN
     2267        IF (f_z0qh_oce /= 1. .AND. nsrf ==is_oce) THEN
    22682268          ! Si on suit les formulations par exemple de Tessel, on
    22692269          ! a z0h=0.4*nu/u*, z0q=0.62*nu/u*, d'ou f_z0qh_oce=0.62/0.4=1.55
     
    22862286          ycdragq_x(1:knon) = ycdragh_x(1:knon)
    22872287          ycdragq_w(1:knon) = ycdragh_w(1:knon)
    2288         ENDIF  ! ( f_z0qh_oce .ne. 1. .and. nsrf .eq.is_oce)
     2288        ENDIF  ! ( f_z0qh_oce .NE. 1. .AND. nsrf .EQ.is_oce)
    22892289
    22902290        CALL wx_pbl_prelim_0(knon, nsrf, dtime, ypplay, ypaprs, ywake_s, &
     
    23422342          ydTs_ins(:) = 0.
    23432343          ydqs_ins(:) = 0.
    2344         ENDIF   ! (iflag_split .eq. 2)
    2345       ENDIF  ! (iflag_split .eq.0)
     2344        ENDIF   ! (iflag_split .EQ. 2)
     2345      ENDIF  ! (iflag_split .EQ.0)
    23462346      !!!
    23472347      IF (prt_level >=10) THEN
     
    26912691
    26922692        !!  Test sur iflag_split retire le 2/02/2018, sans vraiment comprendre la raison de ce test. (jyg)
    2693         !!          IF (iflag_split .eq.0) THEN
     2693        !!          IF (iflag_split .EQ.0) THEN
    26942694        DO j = 1, knon
    26952695          Kech_h(j) = ycdragh(j) * (1.0 + SQRT(yu(j, 1)**2 + yv(j, 1)**2)) * &
    26962696                  ypplay(j, 1) / (RD * yt(j, 1))
    26972697        ENDDO
    2698         !!          ENDIF ! (iflag_split .eq.0)
     2698        !!          ENDIF ! (iflag_split .EQ.0)
    26992699
    27002700        DO j = 1, knon
     
    28002800            ydTs_ins(:) = 0.
    28012801            ydqs_ins(:) = 0.
    2802           ENDIF   ! (iflag_split .eq. 2)
    2803 
    2804         ELSE    ! (nsrf .ne. is_oce)
     2802          ENDIF   ! (iflag_split .EQ. 2)
     2803
     2804        ELSE    ! (nsrf .NE. is_oce)
    28052805          ybeta(1:knon) = 1.
    28062806          yevap_pot(1:knon) = yevap(1:knon)
     
    28152815          ydTs_ins(:) = 0.
    28162816          ydqs_ins(:) = 0.
    2817         ENDIF   ! (nsrf .ne. is_oce)
     2817        ENDIF   ! (nsrf .NE. is_oce)
    28182818
    28192819        CALL wx_pbl_split(knon, nsrf, dtime, ywake_s, ybeta, iflag_split, &
     
    28622862                  y_flux_t1_x, y_flux_t1_w, &
    28632863                  y_flux_q1_x, y_flux_q1_w)
    2864         ENDIF   ! (nsrf .ne. is_oce)
     2864        ENDIF   ! (nsrf .NE. is_oce)
    28652865
    28662866      ELSE  ! (iflag_split .ge. 1)
     
    28822882      !!jyg!!
    28832883      !!jyg!!!----Diffusion dans le sol dans le cas continental seulement
    2884       !!jyg!!       IF (nsrf.eq.is_ter) THEN
     2884      !!jyg!!       IF (nsrf.EQ.is_ter) THEN
    28852885      !!jyg!!!----Calcul du coefficient delta_coeff
    28862886      !!jyg!!          tau_eq(j)=(ywake_s(j)/2.)*(1./max(wake_cstar(j),0.01))*sqrt(0.4/(3.14*max(wake_dens(j),8e-12)))
     
    29562956#endif
    29572957        )
    2958       ELSE  !(iflag_split .eq.0)
     2958      ELSE  !(iflag_split .EQ.0)
    29592959        CALL climb_hq_up(knon, dtime, yt_x, yq_x, &
    29602960        y_flux_q1_x, y_flux_t1_x, ypaprs, ypplay, &
     
    29872987        )
    29882988        !!!
    2989       ENDIF  ! (iflag_split .eq.0)
     2989      ENDIF  ! (iflag_split .EQ.0)
    29902990      !!!
    29912991
     
    30023002                y_flux_u, y_flux_v, y_d_u, y_d_v)
    30033003        y_d_t_diss(:, :) = 0.
    3004         IF (iflag_pbl>=20 .and. iflag_pbl<30) THEN
     3004        IF (iflag_pbl>=20 .AND. iflag_pbl<30) THEN
    30053005          CALL yamada_c(knon, dtime, ypaprs, ypplay &
    30063006                  , yu, yv, yt, y_d_u, y_d_v, y_d_t, ycdragm, ytke, ycoefm, ycoefh, ycoefq, y_d_t_diss, yustar &
     
    30093009        !     PRINT*,'yamada_c OK'
    30103010
    3011       ELSE  !(iflag_split .eq.0)
     3011      ELSE  !(iflag_split .EQ.0)
    30123012        CALL climb_wind_up(knon, dtime, yu_x, yv_x, y_flux_u1_x, y_flux_v1_x, &
    30133013                !!! nrlmd le 02/05/2011
     
    30193019
    30203020        y_d_t_diss_x(:, :) = 0.
    3021         IF (iflag_pbl>=20 .and. iflag_pbl<30) THEN
     3021        IF (iflag_pbl>=20 .AND. iflag_pbl<30) THEN
    30223022          CALL yamada_c(knon, dtime, ypaprs, ypplay &
    30233023                  , yu_x, yv_x, yt_x, y_d_u_x, y_d_v_x, y_d_t_x, ycdragm_x, ytke_x, ycoefm_x, ycoefh_x &
     
    30363036        !!!
    30373037        y_d_t_diss_w(:, :) = 0.
    3038         IF (iflag_pbl>=20 .and. iflag_pbl<30) THEN
     3038        IF (iflag_pbl>=20 .AND. iflag_pbl<30) THEN
    30393039          CALL yamada_c(knon, dtime, ypaprs, ypplay &
    30403040                  , yu_w, yv_w, yt_w, y_d_u_w, y_d_v_w, y_d_t_w, ycdragm_w, ytke_w, ycoefm_w, ycoefh_w &
     
    30493049        ENDIF
    30503050
    3051       ENDIF  ! (iflag_split .eq.0)
     3051      ENDIF  ! (iflag_split .EQ.0)
    30523052
    30533053      IF (ok_bs) THEN
     
    30883088            y_d_v(j, k) = y_d_v(j, k) * ypct(j)
    30893089            !FC
    3090             IF  (nsrf == is_ter .and. ifl_pbltree >= 1) THEN
    3091               !            if (y_d_u_frein(j,k).ne.0. ) THEN
     3090            IF  (nsrf == is_ter .AND. ifl_pbltree >= 1) THEN
     3091              !            if (y_d_u_frein(j,k).NE.0. ) THEN
    30923092              !        PRINT*, nsrf,'IS_TER ++', y_d_u_frein(j,k)*ypct(j),y_d_u(j,k),j,k
    30933093              !            ENDIF
     
    31173117#ifdef ISO
    31183118#ifdef ISOVERIF
    3119         if (iso_eau.gt.0) THEN
     3119        IF (iso_eau.gt.0) THEN
    31203120         CALL iso_verif_egalite_vect2D( &
    31213121                y_d_xt,y_d_q, &
     
    31253125#endif
    31263126
    3127       ELSE  !(iflag_split .eq.0)
     3127      ELSE  !(iflag_split .EQ.0)
    31283128
    31293129        ! Tendances hors poches
     
    32093209        ENDDO
    32103210
    3211       ENDIF  ! (iflag_split .eq.0)
     3211      ENDIF  ! (iflag_split .EQ.0)
    32123212      !!!
    32133213
     
    32263226        i = ni(j)
    32273227        evap(i, nsrf) = - flux_q(i, 1, nsrf)                  !jyg
    3228         if (ok_bs) then ; snowerosion(i, nsrf) = flux_qbs(i, 1, nsrf);
     3228        IF (ok_bs) then ; snowerosion(i, nsrf) = flux_qbs(i, 1, nsrf);
    32293229        endif
    32303230        beta(i, nsrf) = ybeta(j)                             !jyg
     
    33343334        ENDDO
    33353335
    3336       ELSE  ! (iflag_split .eq.0)
     3336      ELSE  ! (iflag_split .EQ.0)
    33373337        DO k = 1, klev + 1
    33383338          DO j = 1, knon
     
    33523352          ENDDO
    33533353        ENDDO
    3354       ENDIF  ! (iflag_split .eq.0)
     3354      ENDIF  ! (iflag_split .EQ.0)
    33553355      !!!
    33563356      DO k = 2, klev
     
    34923492      ENDIF
    34933493
    3494       if (nsrf == is_oce .and. activate_ocean_skin >= 1) THEN
     3494      IF (nsrf == is_oce .AND. activate_ocean_skin >= 1) THEN
    34953495        delta_sal = missing_val
    34963496        ds_ns = missing_val
     
    35153515        sss(ni(:knon)) = ysss(:knon)
    35163516
    3517         if (activate_ocean_skin == 2 .and. type_ocean == "couple") THEN
     3517        IF (activate_ocean_skin == 2 .AND. type_ocean == "couple") THEN
    35183518          dt_ds = missing_val
    35193519          dt_ds(ni(:knon)) = ydt_ds(:knon)
     
    35493549          qairsol(j) = yqsurf(j)
    35503550        ENDDO
    3551       ELSE  ! (iflag_split .eq.0)
     3551      ELSE  ! (iflag_split .EQ.0)
    35523552        DO j = 1, knon
    35533553          uzon_x(j) = yu_x(j, 1) + y_d_u_x(j, 1)
     
    35733573        ENDDO
    35743574        !!!
    3575       ENDIF  ! (iflag_split .eq.0)
     3575      ENDIF  ! (iflag_split .EQ.0)
    35763576      !!!
    35773577      DO j = 1, knon
     
    36103610                  yt2m, yq2m, yt10m, yq10m, yu10m, yustar, ypblh, rain_f, zxtsol)
    36113611        ENDIF
    3612       ELSE  !(iflag_split .eq.0)
     3612      ELSE  !(iflag_split .EQ.0)
    36133613        IF (iflag_new_t2mq2m==1) THEN
    36143614          CALL stdlevvarn(klon, knon, nsrf, zxli, &
     
    36333633        ENDIF
    36343634        !!!
    3635       ENDIF  ! (iflag_split .eq.0)
     3635      ENDIF  ! (iflag_split .EQ.0)
    36363636      !!!
    36373637      !!! jyg le 07/02/2012
     
    36513651
    36523652        ENDDO
    3653       ELSE  !(iflag_split .eq.0)
     3653      ELSE  !(iflag_split .EQ.0)
    36543654        DO j = 1, knon
    36553655          i = ni(j)
     
    36853685        ENDDO
    36863686        !!!
    3687       ENDIF  ! (iflag_split .eq.0)
     3687      ENDIF  ! (iflag_split .EQ.0)
    36883688      !!!
    36893689
     
    37053705            qsat2m(i) = qsat2m(i) + zx_qs1 * pctsrf(i, nsrf)
    37063706          ENDDO
    3707         ELSE  ! (iflag_split .eq.0)
     3707        ELSE  ! (iflag_split .EQ.0)
    37083708          DO j = 1, knon
    37093709            i = ni(j)
     
    37293729          ENDDO
    37303730          !!!
    3731         ENDIF  ! (iflag_split .eq.0)
     3731        ENDIF  ! (iflag_split .EQ.0)
    37323732        !!!
    37333733      ENDIF
     
    37603760          print *, ' Arg. de HBTM: yq ', yq(1:knon, :)
    37613761        ENDIF
    3762       ELSE  ! (iflag_split .eq.0)
     3762      ELSE  ! (iflag_split .EQ.0)
    37633763        CALL HBTM(knon, ypaprs, ypplay, &
    37643764                yt2m_x, yt10m_x, yq2m_x, yq10m_x, yustar_x, ywstar_x, &
     
    37853785                ytherm_w, ytrmb1_w, ytrmb2_w, ytrmb3_w, ylcl_w)
    37863786        !!!
    3787       ENDIF  ! (iflag_split .eq.0)
     3787      ENDIF  ! (iflag_split .EQ.0)
    37883788      !!!
    37893789
     
    38103810          print *, 'After HBTM: cteiCL ', cteiCL(1:knon, :)
    38113811        ENDIF
    3812       ELSE  !(iflag_split .eq.0)
     3812      ELSE  !(iflag_split .EQ.0)
    38133813        DO j = 1, knon
    38143814          i = ni(j)
     
    38503850        ENDIF
    38513851        !!!
    3852       ENDIF  ! (iflag_split .eq.0)
     3852      ENDIF  ! (iflag_split .EQ.0)
    38533853      !!!
    38543854
     
    39683968
    39693969    ! if blowing snow
    3970     if (ok_bs) THEN
     3970    IF (ok_bs) THEN
    39713971      DO nsrf = 1, nbsrf
    39723972        DO k = 1, klev
     
    40684068        ENDDO
    40694069      ENDDO
    4070     ELSE  !(iflag_split .eq.0)
     4070    ELSE  !(iflag_split .EQ.0)
    40714071      DO nsrf = 1, nbsrf
    40724072        DO i = 1, klon
     
    41144114      ENDDO
    41154115      !!!
    4116     ENDIF  ! (iflag_split .eq.0)
     4116    ENDIF  ! (iflag_split .EQ.0)
    41174117    !!!
    41184118
     
    42714271
    42724272    USE indice_sol_mod
    4273     use phys_state_var_mod, ONLY: delta_sal, ds_ns, dt_ns, delta_sst, dter, &
     4273    USE phys_state_var_mod, ONLY: delta_sal, ds_ns, dt_ns, delta_sst, dter, &
    42744274            dser, dt_ds
    4275     use config_ocean_skin_m, ONLY: activate_ocean_skin
     4275    USE config_ocean_skin_m, ONLY: activate_ocean_skin
    42764276
    42774277    INCLUDE "dimsoil.h"
     
    43714371                alb_dif(i, k, nsrf) = 0.06
    43724372              ENDDO
    4373               if (activate_ocean_skin >= 1) THEN
    4374                 if (activate_ocean_skin == 2 &
    4375                         .and. type_ocean == "couple") THEN
     4373              IF (activate_ocean_skin >= 1) THEN
     4374                IF (activate_ocean_skin == 2 &
     4375                        .AND. type_ocean == "couple") THEN
    43764376                  delta_sal(i) = 0.
    43774377                  delta_sst(i) = 0.
Note: See TracChangeset for help on using the changeset viewer.