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 10425 for NEMO/trunk/src/ICE/icewri.F90 – NEMO

Ignore:
Timestamp:
2018-12-19T22:54:16+01:00 (5 years ago)
Author:
smasson
Message:

trunk: merge back dev_r10164_HPC09_ESIWACE_PREP_MERGE@10424 into the trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/ICE/icewri.F90

    r10413 r10425  
    141141           END DO 
    142142         END DO 
    143          CALL lbc_lnk( z2d, 'T', 1. ) 
     143         CALL lbc_lnk( 'icewri', z2d, 'T', 1. ) 
    144144         IF( iom_use('icevel') )   CALL iom_put( "icevel" , z2d ) 
    145145 
     
    191191         ELSEWHERE               ;   zmsk00(:,:) = 0. 
    192192         END WHERE  
    193          zdiag_area_nh = glob_sum( at_i(:,:) * zmsk00(:,:) * e1e2t(:,:) ) 
    194          zdiag_volu_nh = glob_sum( vt_i(:,:) * zmsk00(:,:) * e1e2t(:,:) ) 
     193         zdiag_area_nh = glob_sum( 'icewri', at_i(:,:) * zmsk00(:,:) * e1e2t(:,:) ) 
     194         zdiag_volu_nh = glob_sum( 'icewri', vt_i(:,:) * zmsk00(:,:) * e1e2t(:,:) ) 
    195195         ! 
    196196         WHERE( ff_t > 0._wp .AND. at_i > 0.15 )   ; zmsk00(:,:) = 1.0e-12 
    197197         ELSEWHERE                                 ; zmsk00(:,:) = 0. 
    198198         END WHERE  
    199          zdiag_extt_nh = glob_sum( zmsk00(:,:) * e1e2t(:,:) ) 
     199         zdiag_extt_nh = glob_sum( 'icewri', zmsk00(:,:) * e1e2t(:,:) ) 
    200200         ! 
    201201         IF( iom_use('NH_icearea') )   CALL iom_put( "NH_icearea" ,  zdiag_area_nh ) 
     
    210210         ELSEWHERE            ; zmsk00(:,:) = 0. 
    211211         END WHERE  
    212          zdiag_area_sh = glob_sum( at_i(:,:) * zmsk00(:,:) * e1e2t(:,:) )  
    213          zdiag_volu_sh = glob_sum( vt_i(:,:) * zmsk00(:,:) * e1e2t(:,:) ) 
     212         zdiag_area_sh = glob_sum( 'icewri', at_i(:,:) * zmsk00(:,:) * e1e2t(:,:) )  
     213         zdiag_volu_sh = glob_sum( 'icewri', vt_i(:,:) * zmsk00(:,:) * e1e2t(:,:) ) 
    214214         ! 
    215215         WHERE( ff_t < 0._wp .AND. at_i > 0.15 ); zmsk00(:,:) = 1.0e-12 
    216216         ELSEWHERE                              ; zmsk00(:,:) = 0. 
    217217         END WHERE  
    218          zdiag_extt_sh = glob_sum( zmsk00(:,:) * e1e2t(:,:) ) 
     218         zdiag_extt_sh = glob_sum( 'icewri', zmsk00(:,:) * e1e2t(:,:) ) 
    219219         ! 
    220220         IF( iom_use('SH_icearea') ) CALL iom_put( "SH_icearea", zdiag_area_sh ) 
     
    234234 
    235235  
    236    SUBROUTINE ice_wri_state( kt, kid, kh_i ) 
     236   SUBROUTINE ice_wri_state( kid ) 
    237237      !!--------------------------------------------------------------------- 
    238238      !!                 ***  ROUTINE ice_wri_state  *** 
     
    245245      !! History :   4.0  !  2013-06  (C. Rousset) 
    246246      !!---------------------------------------------------------------------- 
    247       INTEGER, INTENT( in ) ::   kt               ! ocean time-step index 
    248       INTEGER, INTENT( in ) ::   kid , kh_i 
    249       INTEGER               ::   nz_i, jl 
    250       REAL(wp), DIMENSION(jpl) ::   jcat 
     247      INTEGER, INTENT( in ) ::   kid  
    251248      !!---------------------------------------------------------------------- 
    252249      ! 
    253       DO jl = 1, jpl 
    254          jcat(jl) = REAL(jl) 
    255       END DO 
    256        
    257       CALL histvert( kid, "ncatice", "Ice Categories","", jpl, jcat, nz_i, "up") 
    258  
    259       CALL histdef( kid, "sithic", "Ice thickness"          , "m"      , jpi,jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    260       CALL histdef( kid, "siconc", "Ice concentration"      , "%"      , jpi,jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    261       CALL histdef( kid, "sitemp", "Ice temperature"        , "C"      , jpi,jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    262       CALL histdef( kid, "sivelu", "i-Ice speed "           , "m/s"    , jpi,jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    263       CALL histdef( kid, "sivelv", "j-Ice speed "           , "m/s"    , jpi,jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
    264       CALL histdef( kid, "sistru", "i-Wind stress over ice" , "Pa"     , jpi,jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    265       CALL histdef( kid, "sistrv", "j-Wind stress over ice" , "Pa"     , jpi,jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
    266       CALL histdef( kid, "sisflx", "Solar flx over ocean"   , "W/m2"   , jpi,jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
    267       CALL histdef( kid, "sinflx", "NonSolar flx over ocean", "W/m2"   , jpi,jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    268       CALL histdef( kid, "snwpre", "Snow precipitation"     , "kg/m2/s", jpi,jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
    269       CALL histdef( kid, "sisali", "Ice salinity"           , "PSU"    , jpi,jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
    270       CALL histdef( kid, "sivolu", "Ice volume"             , "m"      , jpi,jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
    271       CALL histdef( kid, "sidive", "Ice divergence"         , "10-8s-1", jpi,jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
    272       CALL histdef( kid, "si_amp", "Melt pond fraction"     , "%"      , jpi,jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    273       CALL histdef( kid, "si_vmp", "Melt pond volume"       ,  "m"     , jpi,jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    274       ! 
    275       CALL histdef( kid, "sithicat", "Ice thickness"        , "m"      , jpi,jpj, kh_i, jpl, 1, jpl, nz_i, 32, "inst(x)", rdt, rdt ) 
    276       CALL histdef( kid, "siconcat", "Ice concentration"    , "%"      , jpi,jpj, kh_i, jpl, 1, jpl, nz_i, 32, "inst(x)", rdt, rdt ) 
    277       CALL histdef( kid, "sisalcat", "Ice salinity"         , ""       , jpi,jpj, kh_i, jpl, 1, jpl, nz_i, 32, "inst(x)", rdt, rdt ) 
    278       CALL histdef( kid, "snthicat", "Snw thickness"        , "m"      , jpi,jpj, kh_i, jpl, 1, jpl, nz_i, 32, "inst(x)", rdt, rdt ) 
    279  
    280       CALL histend( kid, snc4set )   ! end of the file definition 
    281  
    282       CALL histwrite( kid, "sithic", kt, hm_i          , jpi*jpj, (/1/) )     
    283       CALL histwrite( kid, "siconc", kt, at_i          , jpi*jpj, (/1/) ) 
    284       CALL histwrite( kid, "sitemp", kt, tm_i - rt0    , jpi*jpj, (/1/) ) 
    285       CALL histwrite( kid, "sivelu", kt, u_ice         , jpi*jpj, (/1/) ) 
    286       CALL histwrite( kid, "sivelv", kt, v_ice         , jpi*jpj, (/1/) ) 
    287       CALL histwrite( kid, "sistru", kt, utau_ice      , jpi*jpj, (/1/) ) 
    288       CALL histwrite( kid, "sistrv", kt, vtau_ice      , jpi*jpj, (/1/) ) 
    289       CALL histwrite( kid, "sisflx", kt, qsr           , jpi*jpj, (/1/) ) 
    290       CALL histwrite( kid, "sinflx", kt, qns           , jpi*jpj, (/1/) ) 
    291       CALL histwrite( kid, "snwpre", kt, sprecip       , jpi*jpj, (/1/) ) 
    292       CALL histwrite( kid, "sisali", kt, sm_i          , jpi*jpj, (/1/) ) 
    293       CALL histwrite( kid, "sivolu", kt, vt_i          , jpi*jpj, (/1/) ) 
    294       CALL histwrite( kid, "sidive", kt, divu_i*1.0e8  , jpi*jpj, (/1/) ) 
    295       CALL histwrite( kid, "si_amp", kt, at_ip         , jpi*jpj, (/1/) ) 
    296       CALL histwrite( kid, "si_vmp", kt, vt_ip         , jpi*jpj, (/1/) ) 
    297       ! 
    298       CALL histwrite( kid, "sithicat", kt, h_i         , jpi*jpj*jpl, (/1/) )     
    299       CALL histwrite( kid, "siconcat", kt, a_i         , jpi*jpj*jpl, (/1/) )     
    300       CALL histwrite( kid, "sisalcat", kt, s_i         , jpi*jpj*jpl, (/1/) )     
    301       CALL histwrite( kid, "snthicat", kt, h_s         , jpi*jpj*jpl, (/1/) )     
    302  
    303       !! The file is closed in dia_wri_state (ocean routine) 
    304       !! CALL histclo( kid ) 
    305       ! 
     250      !! The file is open in dia_wri_state (ocean routine) 
     251 
     252      CALL iom_rstput( 0, 0, kid, 'sithic', hm_i         )   ! Ice thickness 
     253      CALL iom_rstput( 0, 0, kid, 'siconc', at_i         )   ! Ice concentration 
     254      CALL iom_rstput( 0, 0, kid, 'sitemp', tm_i - rt0   )   ! Ice temperature 
     255      CALL iom_rstput( 0, 0, kid, 'sivelu', u_ice        )   ! i-Ice speed 
     256      CALL iom_rstput( 0, 0, kid, 'sivelv', v_ice        )   ! j-Ice speed 
     257      CALL iom_rstput( 0, 0, kid, 'sistru', utau_ice     )   ! i-Wind stress over ice 
     258      CALL iom_rstput( 0, 0, kid, 'sistrv', vtau_ice     )   ! i-Wind stress over ice 
     259      CALL iom_rstput( 0, 0, kid, 'sisflx', qsr          )   ! Solar flx over ocean 
     260      CALL iom_rstput( 0, 0, kid, 'sinflx', qns          )   ! NonSolar flx over ocean 
     261      CALL iom_rstput( 0, 0, kid, 'snwpre', sprecip      )   ! Snow precipitation 
     262      CALL iom_rstput( 0, 0, kid, 'sisali', sm_i         )   ! Ice salinity 
     263      CALL iom_rstput( 0, 0, kid, 'sivolu', vt_i         )   ! Ice volume 
     264      CALL iom_rstput( 0, 0, kid, 'sidive', divu_i*1.0e8 )   ! Ice divergence 
     265      CALL iom_rstput( 0, 0, kid, 'si_amp', at_ip        )   ! Melt pond fraction 
     266      CALL iom_rstput( 0, 0, kid, 'si_vmp', vt_ip        )   ! Melt pond volume 
     267      CALL iom_rstput( 0, 0, kid, 'sithicat', h_i        )   ! Ice thickness 
     268      CALL iom_rstput( 0, 0, kid, 'siconcat', a_i        )   ! Ice concentration 
     269      CALL iom_rstput( 0, 0, kid, 'sisalcat', s_i        )   ! Ice salinity 
     270      CALL iom_rstput( 0, 0, kid, 'snthicat', h_s        )   ! Snw thickness 
     271 
    306272    END SUBROUTINE ice_wri_state 
    307273 
Note: See TracChangeset for help on using the changeset viewer.