Opened 7 years ago

Closed 3 years ago

#1204 closed Defect (fixed)

AGRIF non recursive update of parent grids

Reported by: jchanut Owned by: jchanut
Priority: low Milestone:
Component: AGRIF Version: release-3.6
Severity: minor Keywords:
Cc: jchanut

Description

In case of several levels of embedding (1 parent grid and at least two successively nested sub-domains), update is only performed on parent subdomain. It should be recursively performed on all domains down to the root grid.
No error if only one nested grid.

Commit History (0)

(No commits)

Change History (7)

comment:1 Changed 7 years ago by jchanut

  • Component changed from OPA to AGRIF

comment:2 Changed 7 years ago by jchanut

Possible solution (Proposed changes in step.F90 and agrif_opa_update.F90 modules are given below for tracers):
1) Call update in stp from the finest child grid
2) Do update if last internal time step (i.e. Agrif_NbStepint() = Agrif_irhot()-1 )
3) Then recursively call update routine on parent grid domains thanks to Agrif_ChildGrid_To_ParentGrid procedure.
4) Go to 2)

SUBROUTINE stp( )
   INTEGER             ::   kstp   ! ocean time-step index
   kstp = nit000 + Agrif_Nb_Step()
   !
   ! Lots of stuff here
   !
   IF ( Agrif_Level().EQ.Agrif_MaxLevel() ) THEN   ! agrif update from finest grid only
      CALL Agrif_Update_Tra( kstp )
   ENDIF
   !
END SUBROUTINE stp
SUBROUTINE Agrif_Update_Tra( kt )
   INTEGER, INTENT(in) :: kt
   !
   IF ( Agrif_Root() ) Return
   !
   IF ( Agrif_NbStepint() .EQ. (Agrif_irhot()-1) ) THEN
      !
      ! update parent here
      !
      ! Then recursive update:
      CALL Agrif_ChildGrid_To_ParentGrid()
      CALL Agrif_Update_Tra( 0 ) 
      CALL Agrif_ParentGrid_To_ChildGrid()
   ENDIF
   !
END SUBROUTINE Agrif_Update_Tra
Last edited 3 years ago by nicolasmartin (previous) (diff)

comment:3 Changed 7 years ago by clevy

  • Owner changed from NEMO team to jchanut

comment:4 follow-up: Changed 5 years ago by jchanut

  • Version changed from nemo_v3_6_alpha to nemo_v3_6_STABLE

comment:5 in reply to: ↑ 4 Changed 3 years ago by jchanut

Recursive update is now partially implemented: for active tracers and momentum, e.g. for the most critical part of the nesting procedure (in NEMO_3_6-STABLE). It still has to be implemented for passive tracers, sea ice and prognostic TKE schemes.

comment:6 Changed 3 years ago by clevy

  • Cc jchanut added
  • Status changed from new to assigned

comment:7 Changed 3 years ago by jchanut

  • Resolution set to fixed
  • Severity set to minor
  • Status changed from assigned to closed
  • Type changed from Bug to Defect
Note: See TracTickets for help on using tickets.