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 2002 for branches/dev_1784_ASM/NEMO/OPA_SRC/opa.F90 – NEMO

Ignore:
Timestamp:
2010-07-09T14:19:55+02:00 (14 years ago)
Author:
djlea
Message:

Adding ASM assimilation code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_1784_ASM/NEMO/OPA_SRC/opa.F90

    r1725 r2002  
    2525   !!             -   ! 2007-07  (J. Chanut, A. Sellar) Unstructured open boundaries (BDY) 
    2626   !!            3.2  ! 2009-08  (S. Masson)  open/write in the listing file in mpp 
     27   !!            3.3  ! 2010-05  (K. Mogensen, A. Weaver, M. Martin, D. Lea) Assimilation interface  
    2728   !!---------------------------------------------------------------------- 
    2829 
     
    5354   USE phycst          ! physical constant                  (par_cst routine) 
    5455   USE trdmod          ! momentum/tracers trends       (trd_mod_init routine) 
     56   USE asminc          ! assimilation increments       (asm_inc_init routine) 
     57   USE asmtrj          ! writing out state trajectory 
     58   USE sshwzv          ! vertical velocity used in asm 
    5559   USE diaptr          ! poleward transports           (dia_ptr_init routine) 
    5660   USE step            ! OPA time-stepping                  (stp     routine) 
     
    133137         END DO 
    134138      ELSE                              !==  3D ocean with  ==! 
     139          IF( lk_asminc ) THEN 
     140             IF( ln_bkgwri ) CALL asm_bkg_wri( nit000 - 1 )    ! Output background fields 
     141             IF( ln_trjwri ) CALL asm_trj_wri( nit000 - 1 )    ! Output trajectory fields 
     142             IF( ln_asmdin ) THEN                        ! Direct initialization 
     143                IF( ln_trainc ) CALL tra_asm_inc( nit000 - 1 )    ! Tracers 
     144                IF( ln_dyninc ) THEN  
     145                   CALL dyn_asm_inc( nit000 - 1 )    ! Dynamics 
     146                   IF ( ln_asmdin ) CALL ssh_wzv ( nit000 - 1 )      ! update vertical velocity  
     147                ENDIF 
     148                IF( ln_sshinc ) CALL ssh_asm_inc( nit000 - 1 )    ! SSH 
     149             ENDIF 
     150          ENDIF 
     151         
    135152         DO WHILE ( istp <= nitend .AND. nstop == 0 ) 
    136153#if defined key_agrif 
     
    271288      CALL dia_ptr_init                         ! Poleward TRansports initialization 
    272289      CALL trd_mod_init                         ! Mixed-layer/Vorticity/Integral constraints trends 
     290 
     291      IF( lk_asminc ) CALL asm_inc_init     ! Initialize assimilation increments 
     292      IF(lwp) WRITE(numout,*)'Euler time step switch is ', neuler 
     293 
    273294      ! 
    274295   END SUBROUTINE opa_init 
Note: See TracChangeset for help on using the changeset viewer.