Changeset 2001


Ignore:
Timestamp:
2010-07-09T14:18:30+02:00 (10 years ago)
Author:
djlea
Message:

Adding observation operator code

Location:
branches/dev_1784_OBS/NEMO/OPA_SRC
Files:
58 added
5 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_1784_OBS/NEMO/OPA_SRC/SBC/geo2ocean.F90

    r1613 r2001  
    2626                                             ! repcmo and repere are keep only for compatibility. 
    2727                                             ! they are only a useless overlay of rot_rep 
     28 
     29   PUBLIC   obs_rot 
    2830 
    2931   REAL(wp), DIMENSION(jpi,jpj) ::   & 
     
    522524   END SUBROUTINE repere 
    523525 
     526 
     527   SUBROUTINE obs_rot ( psinu, pcosu, psinv, pcosv ) 
     528      !!---------------------------------------------------------------------- 
     529      !!                  ***  ROUTINE obs_rot  *** 
     530      !! 
     531      !! ** Purpose :   Copy gsinu, gcosu, gsinv and gsinv 
     532      !!                to input data for rotations of 
     533      !!                current at observation points 
     534      !! 
     535      !! History : 
     536      !!   9.2  !  09-02  (K. Mogensen) 
     537      !!---------------------------------------------------------------------- 
     538      REAL(wp), DIMENSION(jpi,jpj), INTENT( OUT )::   & 
     539         & psinu, pcosu, psinv, pcosv! copy of data 
     540 
     541      !!---------------------------------------------------------------------- 
     542 
     543      ! Initialization of gsin* and gcos* at first call 
     544      ! ----------------------------------------------- 
     545 
     546      IF( lmust_init ) THEN 
     547         IF(lwp) WRITE(numout,*) 
     548         IF(lwp) WRITE(numout,*) ' obs_rot : geographic <--> stretched' 
     549         IF(lwp) WRITE(numout,*) ' ~~~~~~~   coordinate transformation' 
     550 
     551         CALL angle       ! initialization of the transformation 
     552         lmust_init = .FALSE. 
     553 
     554      ENDIF 
     555 
     556      psinu(:,:) = gsinu(:,:) 
     557      pcosu(:,:) = gcosu(:,:) 
     558      psinv(:,:) = gsinv(:,:) 
     559      pcosv(:,:) = gcosv(:,:) 
     560 
     561   END SUBROUTINE obs_rot 
     562 
     563 
    524564  !!====================================================================== 
    525565END MODULE geo2ocean 
  • branches/dev_1784_OBS/NEMO/OPA_SRC/ZDF/zdftke.F90

    r1756 r2001  
    8787 
    8888   REAL(wp), DIMENSION(jpi,jpj)     ::   htau      ! depth of tke penetration (nn_htau) 
    89    REAL(wp), DIMENSION(jpi,jpj,jpk) ::   en        ! now turbulent kinetic energy   [m2/s2] 
     89   REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) ::   en        ! now turbulent kinetic energy   [m2/s2] 
    9090   REAL(wp), DIMENSION(jpi,jpj,jpk) ::   dissl     ! now mixing lenght of dissipation 
    9191 
  • branches/dev_1784_OBS/NEMO/OPA_SRC/lib_mpp.F90

    r1718 r2001  
    7171   PUBLIC   mpprecv, mppsend, mppscatter, mppgather 
    7272   PUBLIC   mppobc, mpp_ini_ice, mpp_ini_znl 
    73 #if defined key_oasis3 || defined key_oasis4 
    74    PUBLIC   mppsize, mpprank 
    75 #endif 
     73   PUBLIC   mppsize, mpprank, mpi_comm_opa 
    7674 
    7775   !! * Interfaces 
  • branches/dev_1784_OBS/NEMO/OPA_SRC/opa.F90

    r1725 r2001  
    5454   USE trdmod          ! momentum/tracers trends       (trd_mod_init routine) 
    5555   USE diaptr          ! poleward transports           (dia_ptr_init routine) 
     56   USE diaobs          ! Observation diagnostics       (dia_obs_init routine) 
    5657   USE step            ! OPA time-stepping                  (stp     routine) 
    5758#if defined key_oasis3 
     
    143144         END DO 
    144145      ENDIF 
     146 
     147      IF( lk_diaobs ) CALL dia_obs_wri 
    145148        
    146149      !                            !------------------------! 
     
    269272      !                                     ! diagnostics 
    270273      CALL iom_init                             ! iom_put initialization 
     274 
     275      IF( lk_diaobs ) THEN 
     276         CALL dia_obs_init                  ! Initialize observational data 
     277         CALL dia_obs( nit000 - 1 )         ! Observation operator for restart 
     278      ENDIF       
     279 
    271280      CALL dia_ptr_init                         ! Poleward TRansports initialization 
    272281      CALL trd_mod_init                         ! Mixed-layer/Vorticity/Integral constraints trends 
  • branches/dev_1784_OBS/NEMO/OPA_SRC/step.F90

    r1756 r2001  
    110110   USE diahth          ! thermocline depth                (dia_hth routine) 
    111111   USE diafwb          ! freshwater budget                (dia_fwb routine) 
     112   USE diaobs          ! obs-minus-model (assimilation)   (dia_obs routine) 
    112113   USE flo_oce         ! floats variables 
    113114   USE floats          ! floats computation               (flo_stp routine) 
     
    245246      IF( lk_diahdy  )   CALL dia_hdy( kstp )         ! dynamical heigh diagnostics 
    246247      IF( lk_diafwb  )   CALL dia_fwb( kstp )         ! Fresh water budget diagnostics 
     248      IF( lk_diaobs  )   CALL dia_obs( kstp )         ! obs-minus-model (assimilation) diagnostics 
    247249      IF( ln_diaptr  )   CALL dia_ptr( kstp )         ! Poleward TRansports diagnostics 
    248250      IF( lk_diaar5  )   CALL dia_ar5( kstp )         ! ar5 diag 
Note: See TracChangeset for help on using the changeset viewer.