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

Changeset 12004


Ignore:
Timestamp:
2019-11-28T17:19:40+01:00 (4 years ago)
Author:
dford
Message:

Correct merge errors from previous commit.

File:
1 edited

Legend:

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

    r12003 r12004  
    12111211      !    
    12121212      IF( srcv(jpr_mslp)%laction ) THEN                    ! UKMO SHELF effect of atmospheric pressure on SSH    
    1213           IF( kt /= nit000 )   ssh_ibb(:,:) = ssh_ib(:,:)    !* Swap of ssh_ib fields    
    1214         
    1215           !                                                  !* update the reference atmospheric pressure (if necessary)  
    1216           IF( ln_ref_apr )  rn_pref = glob_sum( frcv(jpr_mslp)%z3(:,:,1) * e1e2t(:,:) ) / tarea  
     1213         IF( ln_apr_dyn ) THEN 
     1214            IF( kt /= nit000 )   ssh_ibb(:,:) = ssh_ib(:,:)    !* Swap of ssh_ib fields    
     1215          
     1216            !                                                  !* update the reference atmospheric pressure (if necessary)  
     1217            IF( ln_ref_apr )  rn_pref = glob_sum( frcv(jpr_mslp)%z3(:,:,1) * e1e2t(:,:) ) / tarea  
     1218           
     1219            ssh_ib(:,:) = - ( frcv(jpr_mslp)%z3(:,:,1) - rn_pref ) * r1_grau    ! equivalent ssh (inverse barometer)    
     1220            apr   (:,:) =     frcv(jpr_mslp)%z3(:,:,1) !atmospheric pressure    
     1221            !  
     1222            CALL iom_put( "ssh_ib", ssh_ib )                                    !* output the inverse barometer ssh 
     1223          
     1224            !                                         ! ---------------------------------------- !  
     1225            IF( kt == nit000 ) THEN                   !   set the forcing field at nit000 - 1    !  
     1226               !                                      ! ---------------------------------------- !  
     1227               !* Restart: read in restart file  
     1228               IF( ln_rstart .AND. iom_varid( numror, 'ssh_ibb', ldstop = .FALSE. ) > 0 ) THEN  
     1229                  IF(lwp) WRITE(numout,*) 'sbc_cpl:   ssh_ibb read in the restart file'  
     1230                  CALL iom_get( numror, jpdom_autoglo, 'ssh_ibb', ssh_ibb )   ! before inv. barometer ssh  
     1231               ELSE                                         !* no restart: set from nit000 values  
     1232                  IF(lwp) WRITE(numout,*) 'sbc_cpl:   ssh_ibb set to nit000 values'  
     1233                  ssh_ibb(:,:) = ssh_ib(:,:)  
     1234               ENDIF  
     1235            ENDIF  
     1236            !                                         ! ---------------------------------------- !  
     1237            IF( lrst_oce ) THEN                       !      Write in the ocean restart file     !  
     1238               !                                      ! ---------------------------------------- !  
     1239               IF(lwp) WRITE(numout,*)  
     1240               IF(lwp) WRITE(numout,*) 'sbc_cpl : ssh_ib written in ocean restart file at it= ', kt,' date= ', ndastp  
     1241               IF(lwp) WRITE(numout,*) '~~~~'  
     1242               CALL iom_rstput( kt, nitrst, numrow, 'ssh_ibb' , ssh_ib )  
     1243            ENDIF  
     1244         ENDIF  
    12171245         
    1218           ssh_ib(:,:) = - ( frcv(jpr_mslp)%z3(:,:,1) - rn_pref ) * r1_grau    ! equivalent ssh (inverse barometer)    
    1219           apr   (:,:) =     frcv(jpr_mslp)%z3(:,:,1) !atmospheric pressure    
    1220           !  
    1221           CALL iom_put( "ssh_ib", ssh_ib )                                    !* output the inverse barometer ssh 
    1222         
    1223           !                                         ! ---------------------------------------- !  
    1224           IF( kt == nit000 ) THEN                   !   set the forcing field at nit000 - 1    !  
    1225              !                                      ! ---------------------------------------- !  
    1226              !* Restart: read in restart file  
    1227              IF( ln_rstart .AND. iom_varid( numror, 'ssh_ibb', ldstop = .FALSE. ) > 0 ) THEN  
    1228                 IF(lwp) WRITE(numout,*) 'sbc_cpl:   ssh_ibb read in the restart file'  
    1229                 CALL iom_get( numror, jpdom_autoglo, 'ssh_ibb', ssh_ibb )   ! before inv. barometer ssh  
    1230              ELSE                                         !* no restart: set from nit000 values  
    1231                 IF(lwp) WRITE(numout,*) 'sbc_cpl:   ssh_ibb set to nit000 values'  
    1232                 ssh_ibb(:,:) = ssh_ib(:,:)  
    1233              ENDIF  
    1234           ENDIF  
    1235           !                                         ! ---------------------------------------- !  
    1236           IF( lrst_oce ) THEN                       !      Write in the ocean restart file     !  
    1237              !                                      ! ---------------------------------------- !  
    1238              IF(lwp) WRITE(numout,*)  
    1239              IF(lwp) WRITE(numout,*) 'sbc_cpl : ssh_ib written in ocean restart file at it= ', kt,' date= ', ndastp  
    1240              IF(lwp) WRITE(numout,*) '~~~~'  
    1241              CALL iom_rstput( kt, nitrst, numrow, 'ssh_ibb' , ssh_ib )  
    1242           ENDIF  
    1243          
    1244           ! Update mean ssh  
    1245           CALL sbc_ssm_cpl( kt ) 
     1246         ! Update mean ssh  
     1247         IF( nn_components /= jp_iam_sas ) CALL sbc_ssm_cpl( kt ) 
    12461248      END IF    
    12471249      !   
     
    12501252      !                                                      !       Stokes drift u,v    !   
    12511253      !                                                      ! ========================= !    
    1252       IF( srcv(jpr_sdrftx)%laction .AND. srcv(jpr_sdrfty)%laction ) THEN  
    1253                                      ut0sd(:,:) = frcv(jpr_sdrftx)%z3(:,:,1)   
    1254                                      vt0sd(:,:) = frcv(jpr_sdrfty)%z3(:,:,1)   
    1255       ENDIF 
     1254         IF( srcv(jpr_sdrftx)%laction .AND. srcv(jpr_sdrfty)%laction ) THEN  
     1255                                        ut0sd(:,:) = frcv(jpr_sdrftx)%z3(:,:,1)   
     1256                                        vt0sd(:,:) = frcv(jpr_sdrfty)%z3(:,:,1)   
     1257         ENDIF 
    12561258      !   
    12571259      !                                                      ! ========================= !    
     
    12651267         IF( srcv(jpr_hsig)%laction ) hsw(:,:) = frcv(jpr_hsig)%z3(:,:,1)   
    12661268      !   
    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   
    13041269      !  
    13051270      !                                                      ! ========================= ! 
Note: See TracChangeset for help on using the changeset viewer.