Changes between Version 18 and Version 19 of ticket/0665_mass_heat_salt_fluxes


Ignore:
Timestamp:
2010-05-05T17:23:35+02:00 (10 years ago)
Author:
gm
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • ticket/0665_mass_heat_salt_fluxes

    v18 v19  
    4242 
    4343   In both LIM2 and LIM3, the computation of the heat content of F/M ice is added. The changes exactly mirror the changes introduced at NOCS in NEMO v3.0 when implementing first the sea-ice embedment. The basic idea is to reference at rt0 all the mass exchanges between ice and ocean.  
     44 
     45   NB: since emps becomes the salt flux, it is generally zero except with the salt exchange at the ocean-ice interface and when a SSS restoring in salinity is used (not when a equivalent freshwater flux formulation is used for the SSS restoring). Therefore emps done not appear anymore in all the sbc routine,. It is only set to zero in sbc_init, set to the ice-ocean salt flux in limsbc(_2), and modified in sbcssr if SSS retoring is used. 
    4446 
    4547   '''LIM2''' : the modules involved in the change are : (see also the '''revision 1858''') 
     
    299301}}} 
    300302 
     303      • '''sbccpl.F90''' : the latent flux of solid precipitation is already taken into account. The heat content of the mass flux [precip. - evap (-runoff) (-calving)] should be added but only over open ocean (the modification does not concern the surface ice fluxes). It is not a simple story. To be perfectly conservative between atmos. and ocean, the atmosphere should provide the heat content associated with the mass flux. This is not done with the current atmospheric component used. Therefore an approximation should be done: 
     304 
     305      # evaporation :  Since the atmosphere has seen the mean SST over the last coupling time interval. This previous SST is the one that should be used to compute the heat content of evaporation. It is not available but can be added to sbcssm module and in its restart. For the moment, we simply use the sst_m field. 
     306 
     307      # precipitation : as in former forced runs, the temperature of precipitation is assumed to be at the SST: we use sst_m field. 
     308 
     309      # runoff & calving : use sst_m as we have no better information 
     310 
     311      In  sbc_cpl_rcv routine (ocean-atmos. only), move the emp part before the qns part and add the following lines 
     312{{{ 
     313         zcoef = xlsn / rhosn                                    ! qns update over free ocean with: 
     314         qns(:,:) = qns(:,:) - frcv(:,:,jpr_snow) * zcoef             ! remove the latent heat flux of melting solid precipitation  
     315            &                - emp(:,:) * sst_m(:,:) * rcp            ! remove the heat content of mass flux (assumed to be at SST) 
     316}}} 
     317 
     318      In  sbc_cpl_ice_flx routine (ocean-atmos-ice), the following lines 
     319{{{ 
     320      IF( lk_diaar5 )   zcptn(:,:) = rcp * tn(:,:,1) 
     321      ... 
     322      zcoef = xlsn / rhosn 
     323      ztmp(:,:) = p_frld(:,:,1) * zsnow(:,:) * zcoef 
     324      pqns_tot(:,:) = pqns_tot(:,:) - ztmp(:,:) 
     325}}} 
     326 
     327{{{ 
     328      zcptn(:,:) = rcp * sst_m(:,:) 
     329      ... 
     330      zcoef = xlsn / rhosn                                        ! qns_tot update over free ocean with: 
     331      ztmp(:,:) = p_frld(:,:,1) * zsnow(:,:) * zcoef 
     332      pqns_tot(:,:) = pqns_tot(:,:)                       & 
     333         &          - ztmp(:,:)                           &            ! remove the latent heat flux of solid precipitation melting 
     334         &          - (  pemp_tot(:,:)                    &            ! remove the heat content of mass flux (assumed to be at SST) 
     335         &             - pemp_ice(:,:) * p_frld(:,:,1)  ) * zcptn(:,:)  
     336}}} 
     337 
     338      • '''sbcana.F90 ; sbcflx.F90 ; sbcfwb.F90''' : add in qns the heat content of the mass flux. immediate changes 
     339 
     340      • '''sbcssr''' : add a change in qns if the SSS restoring is converted into an emp ; update emps as a salt flux is SSS restoring is just a salinity restoring term 
     341 
     342 
     343 
     344 
     345'''(3)''' Update ocean forcing  and ice foricng''' 
     346 
     347   the modification of trasbc and limsbc(_2) modules in order to take into account the above changes (heat content of water exchanges and explicit salt flux) 
     348 
     349     • '''sbcice_if''' : no changes except style as there is no mass flux exchanges in ice-if case.  
    301350 
    302351 
     
    314363'''(4) Update ocean and ice forcing''' 
    315364 
    316    the modification of trasbc and limsbc modules in order to take into account the above changes (heat content of water exchanges and explicit salt flux) 
    317365 
    318366 
     
    324372   • In the same idea : the embedded sea-ice should become the defaut case, with in option the 2 levitating cases. A test should then force a levitating sea-ice if key_linssh defined 
    325373 
     374'''CAUTION''' 
     375 
     376   • in coupled mode, the atmosphere and the ocean must share the same latent heat flux of solid precipitation 
     377 
     378   • in coupled mode, the atmosphere should provide not only the mass flux [e-p(-runoff)(-calvin)] but also the heat content associated with this mass flux computed with a temperature in Celcius. 
    326379---- 
    327380=== Testing ===