[MITgcm-devel] merged budget_ice

Jean-Michel Campin jmc at ocean.mit.edu
Tue Sep 21 12:10:27 EDT 2010


Hi Ian,

I did not get the confirmation from Gael, but looks like the problem
he was having (getting NaNs) with the MITgcm_contrib version of 
seaice_growth_if.F is quite similar to what I was getting (division by zero) 
in the same routine. The lines of code where we have a pb are:
1268                   IF  (salt(I,J,kSurface,bi,bj) .GE.
1269      &               SEAICE_salinity_fixed)  THEN
1270 
1271                      FreshwaterContribFromIce(I,J) =
1272      &                  - ActualIceVolumeChange(I,J)*
1273      &                  SEAICE_rhoICE/ RHOFW* (ONE -
1274      &                  SEAICE_salinity_fixed/salt(I,J,kSurface,bi,bj))

I personally don't understand what this formulation means. 

In addition, it introduces a sharp discontinuity around 
salt() = SEAICE_salinity_fixed:
a) if salt() = -1.e-16 + SEAICE_salinity_fixed, then
 FreshwaterContribFromIce is the full delta ice-volume
b) if salt() = SEAICE_salinity_fixed, then
 FreshwaterContribFromIce = 0 even if there is a large 
 change of ice volume (from melting or freezing)

I have a 3rd remark: did not see any contribution to saltFlux,
which seems strange for the case where SEAICE_salinity(_fixed) is > 0

Thanks,
Jean-Michel

On Tue, Sep 21, 2010 at 02:27:07AM -0400, Ian Fenty wrote:
> Merging SEAICE_BUDGET_ICE and SEAICE_BUDGET_ICE_IF
>
> Fenty_Thermo_Code_Updates/code_updates/seaice_budget_ice.F
>
> The routine seaice_budget_ice.F is merged with seaice_budget_ice_if.F in  
> a file which continues to be called seaice_budget_ice.F.  The newly  
> merged routine can use either the original "default" method for  
> calculating fluxes between snow-ice and air by including "#define  
> USE_ORIGINAL_SBI" in SEAICE_OPTIONS.h.
>
> The method used in seaice_budget_ice_if.F is set to be the default.   
> Invoking the original flux calculations should give the same results as  
> using the original seaice_budget_ice routine.  The difference between  
> the two methods is due to 1) alternative formulation of saturation vapor  
> pressure over the ice 2) truncation errors stemming from differences in  
> the ordering of some calculation 3) difference in the iterative search  
> scheme ( the original method uses an approximate derivative of the  
> surface energy balance w.r.t. the snow/ice surface temperature while the  
> _if codes uses the full derivative.).
>
>
>



More information about the MITgcm-devel mailing list