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 8158 for branches/2016/v3_6_CMIP6_ice_diagnostics/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90 – NEMO

Ignore:
Timestamp:
2017-06-09T09:09:35+02:00 (7 years ago)
Author:
vancop
Message:

SIMIP outputs, phase 2, commit#5

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/v3_6_CMIP6_ice_diagnostics/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90

    r8150 r8158  
    152152            zfric_u      = MAX( SQRT( ust2s(ji,jj) ), zfric_umin )  
    153153            fhtur(ji,jj) = MAX( 0._wp, rswitch * rau0 * rcp * zch  * zfric_u * ( ( sst_m(ji,jj) + rt0 ) - t_bo(ji,jj) ) ) ! W.m-2 
     154 
     155            !-> MV 
     156            !-> the following line makes hfxtur often crazily negative 
     157            !-> if sst is warmer than freezing, evt is fine  
     158            !-> but if sst is super-cooled, fhtur = 0 and zqfr > 0 
     159            !-> so fhtur becomes - zqfr * r1_rdtice / MAX( at_i(ji,jj), epsi10 ) 
     160            !-> if at_i is small, fhtur can be big 
     161            !-> an we will impose the ice to give energy to the ocean to absorb all super cooling! 
     162            !-> makes very high values for small ice concentrations, and grows ice vertically very rapidly 
     163            !-> eg 5th category in hudson bay 
     164            !-> should check after 10 years, but within a year fhtur is too negative 
     165            !-> that may help to build up towers 
     166            ! could we test to put this energy in zqld 
     167            ! zqfr_pos kept in fhtur 
     168            ! zqfr_neg added to zqld 
     169            ! zqfr_pos = MAX( tmask(ji,jj,1) * rau0 * rcp * fse3t_m(ji,jj) * ( t_bo(ji,jj) - ( sst_m(ji,jj) + rt0 ) ), 0. ) 
     170            ! zqfr_neg = MIN( tmask(ji,jj,1) * rau0 * rcp * fse3t_m(ji,jj) * ( t_bo(ji,jj) - ( sst_m(ji,jj) + rt0 ) ), 0. ) 
     171            ! fhtur(ji,jj) = rswitch * MIN( fhtur(ji,jj), - zqfr_pos * r1_rdtice / MAX( at_i(ji,jj), epsi10 ) )  
     172            ! how do we deal with qlead ? 
     173 
     174 
    154175            fhtur(ji,jj) = rswitch * MIN( fhtur(ji,jj), - zqfr * r1_rdtice / MAX( at_i(ji,jj), epsi10 ) ) 
    155176            ! upper bound for fhtur: the heat retrieved from the ocean must be smaller than the heat necessary to reach  
     
    531552         CALL tab_2d_1d( nbpb, wfx_snw_sum_1d(1:nbpb), wfx_snw_sum  , jpi, jpj, npb(1:nbpb) ) 
    532553         CALL tab_2d_1d( nbpb, wfx_sub_1d (1:nbpb), wfx_sub         , jpi, jpj, npb(1:nbpb) ) 
     554         CALL tab_2d_1d( nbpb, wfx_snw_sub_1d(1:nbpb), wfx_snw_sub  , jpi, jpj, npb(1:nbpb) ) 
     555         CALL tab_2d_1d( nbpb, wfx_ice_sub_1d(1:nbpb), wfx_ice_sub  , jpi, jpj, npb(1:nbpb) ) 
    533556          
    534557         CALL tab_2d_1d( nbpb, wfx_bog_1d (1:nbpb), wfx_bog         , jpi, jpj, npb(1:nbpb) ) 
     
    587610         CALL tab_1d_2d( nbpb, wfx_snw_sum   , npb, wfx_snw_sum_1d(1:nbpb),jpi, jpj ) 
    588611         CALL tab_1d_2d( nbpb, wfx_sub       , npb, wfx_sub_1d(1:nbpb)   , jpi, jpj ) 
     612         CALL tab_1d_2d( nbpb, wfx_snw_sub   , npb, wfx_snw_sub_1d(1:nbpb), jpi, jpj ) 
     613         CALL tab_1d_2d( nbpb, wfx_ice_sub   , npb, wfx_ice_sub_1d(1:nbpb), jpi, jpj ) 
    589614          
    590615         CALL tab_1d_2d( nbpb, wfx_bog       , npb, wfx_bog_1d(1:nbpb)   , jpi, jpj ) 
Note: See TracChangeset for help on using the changeset viewer.