New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 11413 for NEMO/branches/2019/dev_r11265_ASINTER-01_Guillaume_ABL1D/src/ICE/icevar.F90 – NEMO

Ignore:
Timestamp:
2019-08-06T17:59:22+02:00 (5 years ago)
Author:
gsamson
Message:

dev_r11265_ABL : see #2131

  • merge src and cfgs from HPC-13_IRRMANN_BDY_optimization branch @ r11402 with dev_r11265_ABL branch @ r11363
  • change ORCA2 results due to ice rheology "cleaning" (see commit r11377)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11265_ASINTER-01_Guillaume_ABL1D/src/ICE/icevar.F90

    r11348 r11413  
    3232   !!                        - vt_s(jpi,jpj) 
    3333   !!                        - at_i(jpi,jpj) 
     34   !!                        - st_i(jpi,jpj) 
    3435   !!                        - et_s(jpi,jpj)  total snow heat content 
    3536   !!                        - et_i(jpi,jpj)  total ice thermal content  
     
    4647   !!   ice_var_zapneg    : remove negative ice fields 
    4748   !!   ice_var_roundoff  : remove negative values arising from roundoff erros 
    48    !!   ice_var_itd       : convert 1-cat to jpl-cat 
    49    !!   ice_var_itd2      : convert N-cat to jpl-cat 
     49   !!   ice_var_itd       : convert N-cat to M-cat 
    5050   !!   ice_var_bv        : brine volume 
    5151   !!   ice_var_enthalpy  : compute ice and snow enthalpies from temperature 
     
    104104      ! 
    105105      !                                      ! integrated values 
    106       vt_i(:,:) =       SUM( v_i(:,:,:)           , dim=3 ) 
    107       vt_s(:,:) =       SUM( v_s(:,:,:)           , dim=3 ) 
    108       at_i(:,:) =       SUM( a_i(:,:,:)           , dim=3 ) 
    109       et_s(:,:)  = SUM( SUM( e_s(:,:,:,:), dim=4 ), dim=3 ) 
    110       et_i(:,:)  = SUM( SUM( e_i(:,:,:,:), dim=4 ), dim=3 ) 
     106      vt_i(:,:) =       SUM( v_i (:,:,:)           , dim=3 ) 
     107      vt_s(:,:) =       SUM( v_s (:,:,:)           , dim=3 ) 
     108      st_i(:,:) =       SUM( sv_i(:,:,:)           , dim=3 ) 
     109      at_i(:,:) =       SUM( a_i (:,:,:)           , dim=3 ) 
     110      et_s(:,:)  = SUM( SUM( e_s (:,:,:,:), dim=4 ), dim=3 ) 
     111      et_i(:,:)  = SUM( SUM( e_i (:,:,:,:), dim=4 ), dim=3 ) 
    111112      ! 
    112113      at_ip(:,:) = SUM( a_ip(:,:,:), dim=3 ) ! melt ponds 
     
    142143         tm_si(:,:) = SUM( t_si(:,:,:) * a_i(:,:,:) , dim=3 ) * z1_at_i(:,:) 
    143144         om_i (:,:) = SUM( oa_i(:,:,:)              , dim=3 ) * z1_at_i(:,:) 
    144          sm_i (:,:) = SUM( sv_i(:,:,:)              , dim=3 ) * z1_vt_i(:,:) 
     145         sm_i (:,:) =      st_i(:,:)                          * z1_vt_i(:,:) 
    145146         ! 
    146147         tm_i(:,:) = 0._wp 
     
    268269      ! 
    269270      ! integrated values  
    270       vt_i (:,:) = SUM( v_i, dim=3 ) 
    271       vt_s (:,:) = SUM( v_s, dim=3 ) 
    272       at_i (:,:) = SUM( a_i, dim=3 ) 
     271      vt_i (:,:) = SUM( v_i , dim=3 ) 
     272      vt_s (:,:) = SUM( v_s , dim=3 ) 
     273      at_i (:,:) = SUM( a_i , dim=3 ) 
    273274      ! 
    274275   END SUBROUTINE ice_var_glo2eqv 
     
    538539 
    539540      ! to be sure that at_i is the sum of a_i(jl) 
    540       at_i (:,:) = SUM( a_i(:,:,:), dim=3 ) 
    541       vt_i (:,:) = SUM( v_i(:,:,:), dim=3 ) 
     541      at_i (:,:) = SUM( a_i (:,:,:), dim=3 ) 
     542      vt_i (:,:) = SUM( v_i (:,:,:), dim=3 ) 
     543!!clem add? 
     544!      vt_s (:,:) = SUM( v_s (:,:,:), dim=3 ) 
     545!      st_i (:,:) = SUM( sv_i(:,:,:), dim=3 ) 
     546!      et_s(:,:)  = SUM( SUM( e_s (:,:,:,:), dim=4 ), dim=3 ) 
     547!      et_i(:,:)  = SUM( SUM( e_i (:,:,:,:), dim=4 ), dim=3 ) 
     548!!clem 
    542549 
    543550      ! open water = 1 if at_i=0 
     
    932939               IF ( i_fill == 1 ) THEN      !-- case very thin ice: fill only category 1 
    933940                  ph_i(ji,1) = phti(ji) 
    934                   pa_i (ji,1) = pati (ji) 
     941                  pa_i(ji,1) = pati (ji) 
    935942               ELSE                         !-- case ice is thicker: fill categories >1 
    936943                  ! thickness 
     
    975982               IF ( zconv < epsi06 )   itest(2) = 1                                        ! Test 2: volume conservation 
    976983               ! 
    977                IF ( ph_i(ji,i_fill) >= hi_max(i_fill-1) )   itest(3) = 1                  ! Test 3: thickness of the last category is in-bounds ? 
     984               IF ( ph_i(ji,i_fill) >= hi_max(i_fill-1) )   itest(3) = 1                   ! Test 3: thickness of the last category is in-bounds ? 
    978985               ! 
    979986               itest(4) = 1 
    980987               DO jl = 1, i_fill 
    981                   IF ( pa_i(ji,jl) < 0._wp ) itest(4) = 0                                ! Test 4: positivity of ice concentrations 
     988                  IF ( pa_i(ji,jl) < 0._wp ) itest(4) = 0                                  ! Test 4: positivity of ice concentrations 
    982989               END DO 
    983990               !                                         !---------------------------- 
     
    10891096      ELSEIF( icat == 1 ) THEN          ! input cat = 1          ! 
    10901097         !                              ! ---------------------- ! 
    1091          CALL  ice_var_itd_1cMc( phti(:,1), phts(:,1), pati (:,1),            ph_i(:,:), ph_s(:,:), pa_i (:,:), & 
    1092             &                    ptmi(:,1), ptms(:,1), ptmsu(:,1), psmi(:,1), pt_i(:,:), pt_s(:,:), pt_su(:,:), ps_i(:,:) ) 
     1098         CALL  ice_var_itd_1cMc( phti(:,1), phts(:,1), pati (:,1),            ph_i(:,:), ph_s(:,:), pa_i (:,:) ) 
     1099!!         CALL  ice_var_itd_1cMc( phti(:,1), phts(:,1), pati (:,1),            ph_i(:,:), ph_s(:,:), pa_i (:,:), & 
     1100!!            &                    ptmi(:,1), ptms(:,1), ptmsu(:,1), psmi(:,1), pt_i(:,:), pt_s(:,:), pt_su(:,:), ps_i(:,:) ) 
    10931101         !                              ! ---------------------- ! 
    10941102      ELSEIF( jpl == 1 ) THEN           ! output cat = 1         ! 
    10951103         !                              ! ---------------------- ! 
    1096          CALL  ice_var_itd_Nc1c( phti(:,:), phts(:,:), pati (:,:),            ph_i(:,1), ph_s(:,1), pa_i (:,1), & 
    1097             &                    ptmi(:,:), ptms(:,:), ptmsu(:,:), psmi(:,:), pt_i(:,1), pt_s(:,1), pt_su(:,1), ps_i(:,1) )          
     1104         CALL  ice_var_itd_Nc1c( phti(:,:), phts(:,:), pati (:,:),            ph_i(:,1), ph_s(:,1), pa_i (:,1) ) 
     1105!!         CALL  ice_var_itd_Nc1c( phti(:,:), phts(:,:), pati (:,:),            ph_i(:,1), ph_s(:,1), pa_i (:,1), & 
     1106!!            &                    ptmi(:,:), ptms(:,:), ptmsu(:,:), psmi(:,:), pt_i(:,1), pt_s(:,1), pt_su(:,1), ps_i(:,1) )          
    10981107         !                              ! ----------------------- ! 
    10991108      ELSE                              ! input cat /= output cat ! 
Note: See TracChangeset for help on using the changeset viewer.