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 9313 for branches/UKMO/dev_r5518_new_runoff_coupling/NEMOGCM/NEMO/OPA_SRC/SBC/cpl_rnf_1d.F90 – NEMO

Ignore:
Timestamp:
2018-02-08T15:41:43+01:00 (6 years ago)
Author:
dancopsey
Message:

Changed number of rivers to be nn_cpl_river which is fed in from the nam_cpl_rnf_1d namelist. Made new scheme turn on and off by setting sn_rcv_rnf%cldes = 'coupled1d'

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_new_runoff_coupling/NEMOGCM/NEMO/OPA_SRC/SBC/cpl_rnf_1d.F90

    r9264 r9313  
    2222   USE dom_oce         ! Domain sizes (for grid box area e1e2t) 
    2323   USE sbc_oce         ! Surface boundary condition: ocean fields 
    24    USE cpl_oasis3      ! Coupling information (for n_rivers and runoff_id) 
    2524    
    2625   IMPLICIT NONE 
     
    3635    
    3736   TYPE(RIVERS_DATA), PUBLIC, TARGET :: rivers  !: River data 
     37    
     38   INTEGER, PUBLIC            :: nn_cpl_river   ! Maximum number of rivers being passed through the coupler 
     39   INTEGER, PUBLIC            :: runoff_id      ! OASIS coupling id used in oasis_get command 
    3840    
    3941CONTAINS 
     
    5759      REAL(wp), POINTER, DIMENSION(:,:)         ::   river_number        ! 2D array containing the river outflow numbers 
    5860       
    59       NAMELIST/nam_cpl_rnf_1d/file_riv_number 
     61      NAMELIST/nam_cpl_rnf_1d/file_riv_number, nn_cpl_river 
    6062      !!---------------------------------------------------------------------- 
    6163 
     
    114116       
    115117      ! Get the area of each river outflow 
    116       ALLOCATE( rivers%river_area( n_rivers ) ) 
     118      ALLOCATE( rivers%river_area( nn_cpl_river ) ) 
    117119      rivers%river_area(:) = 0.0 
    118120      DO ii = 1, jpi 
    119121        DO jj = 1, jpj 
    120           IF ( rivers%river_number(ii,jj) > 0 .AND. rivers%river_number(ii,jj) <= n_rivers ) THEN 
     122          IF ( rivers%river_number(ii,jj) > 0 .AND. rivers%river_number(ii,jj) <= nn_cpl_river ) THEN 
    121123            rivers%river_area(rivers%river_number(ii,jj)) = rivers%river_area(rivers%river_number(ii,jj)) + e1e2t(ii,jj) 
    122124          END IF 
     
    125127       
    126128      ! Use mpp_sum to add together river areas on other processors 
    127       CALL mpp_sum( rivers%river_area, n_rivers ) 
     129      CALL mpp_sum( rivers%river_area, nn_cpl_river ) 
    128130      WRITE(numout,*) 'Area of river number 1 is ',rivers%river_area(1) 
    129131      WRITE(numout,*) 'Area of river number 10 is ',rivers%river_area(10) 
     
    147149       
    148150      INTEGER  ::   kinfo                  ! OASIS3 info argument     
    149       REAL(wp) ::   runoff_1d(n_rivers)    ! River runoff. One value per river. 
     151      REAL(wp) ::   runoff_1d(nn_cpl_river)    ! River runoff. One value per river. 
    150152      INTEGER  ::   ii, jj                 ! Loop indices 
    151153      LOGICAL  ::   llaction               ! Has the get worked? 
     
    180182        DO ii = 1, jpi 
    181183          DO jj = 1, jpj 
    182             IF ( rivers%river_number(ii,jj) > 0 .AND. rivers%river_number(ii,jj) <= n_rivers ) THEN 
     184            IF ( rivers%river_number(ii,jj) > 0 .AND. rivers%river_number(ii,jj) <= nn_cpl_river ) THEN 
    183185              rnf(ii,jj) = runoff_1d(rivers%river_number(ii,jj)) / rivers%river_area(rivers%river_number(ii,jj)) 
    184186            ELSE 
Note: See TracChangeset for help on using the changeset viewer.