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 9482 for branches/2017/dev_merge_2017/NEMOGCM/NEMO/NST_SRC/agrif_lim3_update.F90 – NEMO

Ignore:
Timestamp:
2018-04-13T19:03:31+02:00 (6 years ago)
Author:
clem
Message:

The configuration Agrif_Nordic is now restartable for any nn_fsbc(Parent) and nn_fsbc(Child). However we do not authorized nn_fsbc(Child) to be larger than 1 because otherwise it breaks the CFL too easily. The simulation would still run but the results would not be satisfactory. I still have to verify this point with the last version of the code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/NST_SRC/agrif_lim3_update.F90

    r9454 r9482  
    11#define TWO_WAY 
     2!!#undef TWO_WAY 
    23 
    34MODULE agrif_lim3_update 
     
    3233   PRIVATE 
    3334 
    34    PUBLIC   agrif_update_lim3   ! called by agrif_user.F90 
     35   PUBLIC   agrif_update_lim3   ! called by agrif_user.F90 and icestp.F90 
    3536 
    3637   !!---------------------------------------------------------------------- 
     
    5152      !!---------------------------------------------------------------------- 
    5253      ! 
    53       !! clem: I think the update should take place each time the ocean sees the surface forcings 
    54       !!       (but maybe I am wrong and we should update every rhot time steps)  
    55       IF( ( MOD( (kt-nit000)/nn_fsbc + 1, Agrif_irhot() * Agrif_Parent(nn_fsbc) / nn_fsbc ) /=0 ) .AND. (kt /= 0) ) RETURN ! do not update if nb of child time steps differ from time refinement 
    56                                                                                                                            ! i.e. update only at the parent time step 
    57       IF( nn_ice == 0 ) RETURN   ! do not update if child domain does not have ice 
     54      IF( Agrif_Root() .OR. nn_ice == 0 ) RETURN   ! do not update if inside Parent Grid or if child domain does not have ice 
     55      ! 
     56      IF( ( MOD( (kt-nit000)/nn_fsbc + 1, Agrif_irhot() * Agrif_Parent(nn_fsbc)/nn_fsbc ) /=0 ) .AND. (kt /= 0) ) RETURN   ! update only at the parent ice time step 
    5857      ! 
    5958      Agrif_SpecialValueFineGrid    = -9999. 
     
    148147         END DO 
    149148         ! 
    150          ! integrated values 
    151          vt_i(i1:i2,j1:j2) = SUM(      v_i(i1:i2,j1:j2,:)           , dim=3 ) 
    152          vt_s(i1:i2,j1:j2) = SUM(      v_s(i1:i2,j1:j2,:)           , dim=3 ) 
    153          at_i(i1:i2,j1:j2) = SUM(      a_i(i1:i2,j1:j2,:)           , dim=3 ) 
    154          et_s(i1:i2,j1:j2) = SUM( SUM( e_s(i1:i2,j1:j2,:,:), dim=4 ), dim=3 ) 
    155          et_i(i1:i2,j1:j2) = SUM( SUM( e_i(i1:i2,j1:j2,:,:), dim=4 ), dim=3 ) 
    156  
    157          at_ip(i1:i2,j1:j2) = SUM( a_ip(i1:i2,j1:j2,:), dim=3 ) ! melt ponds 
    158          vt_ip(i1:i2,j1:j2) = SUM( v_ip(i1:i2,j1:j2,:), dim=3 ) 
    159          ! 
    160          ato_i(i1:i2,j1:j2) = 1._wp - at_i(i1:i2,j1:j2)         ! open water fraction   
    161  
    162149         DO jl = 1, jpl 
    163150            WHERE( tmask(i1:i2,j1:j2,1) == 0._wp )   t_su(i1:i2,j1:j2,jl) = rt0   ! to avoid a division by 0 in sbcblk.F90 
Note: See TracChangeset for help on using the changeset viewer.