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 6278 – NEMO

Changeset 6278


Ignore:
Timestamp:
2016-02-03T11:05:58+01:00 (8 years ago)
Author:
jenniewaters
Message:

Include the bias pressure correction code at vn3.6.

Location:
branches/UKMO/dev_r5518_pcbias/NEMOGCM
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_pcbias/NEMOGCM/CONFIG/SHARED/namelist_ref

    r5501 r6278  
    12991299   rn_htrmax         =  200.0   ! max. depth of transition range 
    13001300/ 
     1301!----------------------------------------------------------------------- 
     1302&nambias   ! Bias pressure correctiom 
     1303!----------------------------------------------------------------------- 
     1304   ln_bias = .false. 
     1305   ln_bias_asm    = .false. 
     1306   ln_bias_rlx    = .false. 
     1307   ln_bias_ofl    = .false. 
     1308   ln_bias_ts_app = .false. 
     1309   ln_bias_pc_app = .false. 
     1310   eft_asm        = 90.     
     1311   cn_bias_tot    = 'pcbias.nc' 
     1312   bias_time_unit_asm = 86400.0 
     1313   ln_inertial    = .false. 
     1314/ 
  • branches/UKMO/dev_r5518_pcbias/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90

    r6277 r6278  
    4444   USE wrk_nemo        ! Memory Allocation 
    4545   USE timing          ! Timing 
     46   USE biaspar         ! bias correction variables 
    4647 
    4748   IMPLICIT NONE 
     
    8485      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
    8586      REAL(wp), POINTER, DIMENSION(:,:,:) ::  ztrdu, ztrdv 
     87      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   z_rhd_st       ! for pressure correction 
     88      REAL(wp), DIMENSION(jpi,jpj)     ::   z_gru_st       ! for pressure correction 
     89      REAL(wp), DIMENSION(jpi,jpj)     ::   z_grv_st       ! for pressure correction 
    8690      !!---------------------------------------------------------------------- 
    8791      ! 
     
    9296         ztrdu(:,:,:) = ua(:,:,:) 
    9397         ztrdv(:,:,:) = va(:,:,:) 
     98      ENDIF 
     99      ! 
     100      IF ( ln_bias .AND. ln_bias_pc_app ) THEN 
     101         z_rhd_st(:,:,:) = rhd(:,:,:)     ! store orig density  
     102         rhd(:,:,:)      = rhd_pc(:,:,:)  ! use pressure corrected density 
     103         z_gru_st(:,:)   = gru(:,:) 
     104         gru(:,:)        = gru_pc(:,:) 
     105         z_grv_st(:,:)   = grv(:,:) 
     106         grv(:,:)        = grv_pc(:,:) 
    94107      ENDIF 
    95108      ! 
     
    112125      IF(ln_ctl)   CALL prt_ctl( tab3d_1=ua, clinfo1=' hpg  - Ua: ', mask1=umask,   & 
    113126         &                       tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
     127      ! 
     128      IF ( ln_bias .AND. ln_bias_pc_app )  THEN 
     129         rhd(:,:,:) = z_rhd_st(:,:,:)     ! restore original density 
     130         gru(:,:)   = z_gru_st(:,:) 
     131         grv(:,:)   = z_grv_st(:,:) 
     132      ENDIF 
    114133      ! 
    115134      IF( nn_timing == 1 )  CALL timing_stop('dyn_hpg') 
  • branches/UKMO/dev_r5518_pcbias/NEMOGCM/NEMO/OPA_SRC/IOM/in_out_manager.F90

    r6277 r6278  
    121121   INTEGER ::   numout          =    6      !: logical unit for output print; Set to stdout to ensure any early 
    122122                                            !  output can be collected; do not change 
     123   INTEGER ::   numnam          =   -1      !: logical unit for namelist 
    123124   INTEGER ::   numnam_ref      =   -1      !: logical unit for reference namelist 
    124125   INTEGER ::   numnam_cfg      =   -1      !: logical unit for configuration specific namelist 
  • branches/UKMO/dev_r5518_pcbias/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90

    r6277 r6278  
    452452      IF( lk_diadct     )   CALL dia_dct_init   ! Sections tranports 
    453453                            CALL dia_hsb_init   ! heat content, salt content and volume budgets 
    454                             CALL     trd_init   ! Mixed-layer/Vorticity/Integral constraints trends 
     454                            CALL     trd_init   ! Mixed-layer/Vorticity/Integral constraints trend 
     455      IF (lk_bias       )   CALL     bias_init  ! Pressure correction bias 
    455456      IF( lk_diaobs     ) THEN                  ! Observation & model comparison 
    456457                            CALL dia_obs_init            ! Initialize observational data 
  • branches/UKMO/dev_r5518_pcbias/NEMOGCM/NEMO/OPA_SRC/step.F90

    r6277 r6278  
    9797      IF( ln_crs     )       CALL iom_setkt( kstp - nit000 + 1, TRIM(cxios_context)//"_crs" )   ! tell iom we are at time step kstp 
    9898 
     99      IF( lk_bias ) THEN 
     100         IF( ln_bias )          CALL bias_opn( kstp ) 
     101      ENDIF 
     102 
    99103      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    100104      ! Update data, open boundaries, surface boundary condition (including sea-ice) 
     
    255259      IF( lk_trabbl      )   CALL tra_bbl    ( kstp )       ! advective (and/or diffusive) bottom boundary layer scheme 
    256260      IF( ln_tradmp      )   CALL tra_dmp    ( kstp )       ! internal damping trends 
     261      IF( lk_bias  ) THEN 
     262         IF( ln_bias     )   CALL tra_bias   ( kstp ) 
     263      ENDIF 
    257264      IF( lk_bdy         )   CALL bdy_tra_dmp( kstp )       ! bdy damping trends 
    258265                             CALL tra_adv    ( kstp )       ! horizontal & vertical advection 
     
    279286               &                                           rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv ,   & 
    280287               &                                    gtui, gtvi, grui, grvi, arui, arvi, gzui, gzvi, ge3rui, ge3rvi    ) ! of t, s, rd at the last ocean level 
     288            IF( lk_bias  ) THEN 
     289               IF( ln_bias ) CALL dyn_bias( kstp ) 
     290            ENDIF 
    281291      ELSE                                                  ! centered hpg  (eos then time stepping) 
    282292         IF ( .NOT. lk_dynspg_ts ) THEN                     ! eos already called in time-split case 
     
    293303         IF( ln_zdfnpc   )   CALL tra_npc( kstp )                ! update after fields by non-penetrative convection 
    294304                             CALL tra_nxt( kstp )                ! tracer fields at next time step 
     305         IF( lk_bias  ) THEN 
     306            IF( ln_bias ) CALL dyn_bias( kstp ) 
     307         ENDIF 
    295308      ENDIF 
    296309 
     
    353366      ENDIF 
    354367      IF( lrst_oce         )   CALL rst_write    ( kstp )   ! write output ocean restart file 
     368      IF( lk_bias  ) THEN 
     369         IF( lrst_bias )       CALL bias_wrt     ( kstp ) 
     370      ENDIF 
    355371 
    356372      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
  • branches/UKMO/dev_r5518_pcbias/NEMOGCM/NEMO/OPA_SRC/step_oce.F90

    r6277 r6278  
    9999 
    100100   USE crsfld           ! Standard output on coarse grid   (crs_fld routine) 
    101  
     101   USE biaspar          ! bias param 
     102   USE bias             ! bias routines                    (tra_bias routine 
     103                        !                                   dyn_bias routine) 
    102104   USE asminc           ! assimilation increments      (tra_asm_inc routine) 
    103105   !                                                   (dyn_asm_inc routine) 
Note: See TracChangeset for help on using the changeset viewer.