Changeset 12003


Ignore:
Timestamp:
2019-11-28T16:47:31+01:00 (9 months ago)
Author:
dford
Message:

Merge in change relating to pressure correction.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/AMM15_v3_6_STABLE_package_collate_utils305/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90

    r11277 r12003  
    12651265         IF( srcv(jpr_hsig)%laction ) hsw(:,:) = frcv(jpr_hsig)%z3(:,:,1)   
    12661266      !   
    1267       !                                                      ! ========================= !    
    1268       !                                                      !    Wave peak frequency    !   
    1269       !                                                      ! ========================= !    
    1270          IF( srcv(jpr_wfreq)%laction ) wfreq(:,:) = frcv(jpr_wfreq)%z3(:,:,1)   
     1267      IF( srcv(jpr_mslp)%laction ) THEN                    ! UKMO SHELF effect of atmospheric pressure on SSH   
     1268         IF( ln_apr_dyn ) THEN 
     1269            IF( kt /= nit000 )   ssh_ibb(:,:) = ssh_ib(:,:)    !* Swap of ssh_ib fields   
     1270          
     1271            !                                                  !* update the reference atmospheric pressure (if necessary) 
     1272            IF( ln_ref_apr )  rn_pref = glob_sum( frcv(jpr_mslp)%z3(:,:,1) * e1e2t(:,:) ) / tarea 
     1273     
     1274            ssh_ib(:,:) = - ( frcv(jpr_mslp)%z3(:,:,1) - rn_pref ) * r1_grau    ! equivalent ssh (inverse barometer)   
     1275            apr   (:,:) =     frcv(jpr_mslp)%z3(:,:,1) !atmospheric pressure   
     1276            ! 
     1277            CALL iom_put( "ssh_ib", ssh_ib )                                    !* output the inverse barometer ssh 
     1278          
     1279            !                                         ! ---------------------------------------- ! 
     1280            IF( kt == nit000 ) THEN                   !   set the forcing field at nit000 - 1    ! 
     1281               !                                      ! ---------------------------------------- ! 
     1282               !* Restart: read in restart file 
     1283               IF( ln_rstart .AND. iom_varid( numror, 'ssh_ibb', ldstop = .FALSE. ) > 0 ) THEN 
     1284                  IF(lwp) WRITE(numout,*) 'sbc_cpl:   ssh_ibb read in the restart file' 
     1285                  CALL iom_get( numror, jpdom_autoglo, 'ssh_ibb', ssh_ibb )   ! before inv. barometer ssh 
     1286               ELSE                                         !* no restart: set from nit000 values 
     1287                  IF(lwp) WRITE(numout,*) 'sbc_cpl:   ssh_ibb set to nit000 values' 
     1288                  ssh_ibb(:,:) = ssh_ib(:,:) 
     1289               ENDIF 
     1290            ENDIF 
     1291            !                                         ! ---------------------------------------- ! 
     1292            IF( lrst_oce ) THEN                       !      Write in the ocean restart file     ! 
     1293               !                                      ! ---------------------------------------- ! 
     1294               IF(lwp) WRITE(numout,*) 
     1295               IF(lwp) WRITE(numout,*) 'sbc_cpl : ssh_ib written in ocean restart file at it= ', kt,' date= ', ndastp 
     1296               IF(lwp) WRITE(numout,*) '~~~~' 
     1297               CALL iom_rstput( kt, nitrst, numrow, 'ssh_ibb' , ssh_ib ) 
     1298            ENDIF 
     1299         ENDIF 
     1300 
     1301         ! Update mean ssh 
     1302         IF( nn_components /= jp_iam_sas ) CALL sbc_ssm_cpl( kt ) 
     1303      END IF   
    12711304      !  
    12721305      !                                                      ! ========================= ! 
Note: See TracChangeset for help on using the changeset viewer.