Changeset 10046
- Timestamp:
- 2018-08-08T16:39:05+02:00 (6 years ago)
- Location:
- branches/UKMO/dev_r5518_cleanup_1d_cpl/NEMOGCM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_cleanup_1d_cpl/NEMOGCM/CONFIG/SHARED/namelist_ref
r9280 r10046 405 405 rn_antarctica_calving_fraction = 0.5 ! Set fraction of total freshwater flux for iceberg calving - remainder goes to iceshelf melting. 406 406 rn_iceshelf_fluxes_tolerance = 1e-6 ! Fractional threshold for detecting differences in icesheet masses (must be positive definite). 407 nn_cpl_river = 0 ! Number of rivers to be dealt with in atmos-ocean coupling.408 407 / 409 408 !----------------------------------------------------------------------- -
branches/UKMO/dev_r5518_cleanup_1d_cpl/NEMOGCM/NEMO/OPA_SRC/SBC/cpl_oasis3.F90
r10043 r10046 372 372 ! End of definition phase 373 373 !------------------------------------------------------------------ 374 374 375 CALL oasis_enddef(nerror) 375 376 IF( nerror /= OASIS_Ok ) CALL oasis_abort ( ncomp_id, 'cpl_define', 'Failure in oasis_enddef') -
branches/UKMO/dev_r5518_cleanup_1d_cpl/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r10044 r10046 257 257 & sn_rcv_atm_pco2, sn_rcv_atm_dust 258 258 259 ! Add river coupling related field to namelist260 NAMELIST/namsbc_cpl/ nn_cpl_river261 262 259 263 260 !!--------------------------------------------------------------------- … … 331 328 WRITE(numout,*)' rn_antarctica_calving_fraction = ', rn_antarctica_calving_fraction 332 329 WRITE(numout,*)' rn_iceshelf_fluxes_tolerance = ', rn_iceshelf_fluxes_tolerance 333 WRITE(numout,*)' nn_cpl_river = ', nn_cpl_river334 330 335 331 ENDIF … … 483 479 ! 484 480 srcv(jpr_cal )%clname = 'OCalving' 485 IF( TRIM( sn_rcv_cal%cldes ) == 'coupled' ) srcv(jpr_cal)%laction = .TRUE. 486 srcv(jpr_grnm )%clname = 'OGrnmass' 487 srcv(jpr_grnm )%dimensions = 0 ! Scalar field 488 489 IF( TRIM( sn_rcv_grnm%cldes ) == 'coupled' ) srcv(jpr_grnm)%laction = .TRUE. 490 srcv(jpr_antm )%clname = 'OAntmass' 491 srcv(jpr_antm )%dimensions = 0 ! Scalar field 492 IF( TRIM( sn_rcv_antm%cldes ) == 'coupled' ) srcv(jpr_antm)%laction = .TRUE. 481 IF( TRIM( sn_rcv_cal%cldes ) == 'coupled' ) srcv(jpr_cal)%laction = .TRUE. 482 483 srcv(jpr_grnm )%clname = 'OGrnmass' 484 IF( TRIM( sn_rcv_grnm%cldes ) == 'coupled' .OR. TRIM( sn_rcv_grnm%cldes ) == 'coupled0d' ) srcv(jpr_grnm)%laction = .TRUE. 485 IF( TRIM( sn_rcv_grnm%cldes ) == 'coupled0d' ) srcv(jpr_grnm )%dimensions = 0 ! Scalar field 486 487 srcv(jpr_antm )%clname = 'OAntmass' 488 IF( TRIM( sn_rcv_antm%cldes ) == 'coupled' .OR. TRIM( sn_rcv_antm%cldes ) == 'coupled0d' ) srcv(jpr_antm)%laction = .TRUE. 489 IF( TRIM( sn_rcv_antm%cldes ) == 'coupled0d' ) srcv(jpr_antm )%dimensions = 0 ! Scalar field 490 493 491 494 492 … … 1114 1112 IF( srcv(jn)%laction ) THEN 1115 1113 1116 IF ( srcv(jn)%dimensions == 0) THEN1114 IF ( srcv(jn)%dimensions <= 1 ) THEN 1117 1115 CALL cpl_rcv_1d( jn, isec, frcv(jn)%z3, SIZE(frcv(jn)%z3), nrcvinfo(jn) ) 1118 1116 ELSE … … 1424 1422 1425 1423 IF( srcv(jpr_grnm)%laction .AND. nn_coupled_iceshelf_fluxes == 1 ) THEN 1426 ! This is a zero dimensional, single value field. 1427 zgreenland_icesheet_mass_in = frcv(jpr_grnm)%z3(1,1,1) 1424 1425 IF( srcv(jpr_grnm)%dimensions == 0 ) THEN 1426 1427 ! This is a zero dimensional, single value field. 1428 zgreenland_icesheet_mass_in = frcv(jpr_grnm)%z3(1,1,1) 1429 1430 ELSE 1431 1432 greenland_icesheet_mass_array(:,:) = frcv(jpr_grnm)%z3(:,:,1) 1433 ! take average over ocean points of input array to avoid cumulative error over time 1434 ! The following must be bit reproducible over different PE decompositions 1435 zgreenland_icesheet_mass_in = glob_sum( greenland_icesheet_mass_array(:,:) * tmask(:,:,1) ) 1436 zgreenland_icesheet_mass_in = zgreenland_icesheet_mass_in / zmask_sum 1437 1438 END IF 1428 1439 1429 1440 greenland_icesheet_timelapsed = greenland_icesheet_timelapsed + rdt … … 1458 1469 ! ! land ice masses : Antarctica 1459 1470 IF( srcv(jpr_antm)%laction .AND. nn_coupled_iceshelf_fluxes == 1 ) THEN 1460 ! This is a zero dimensional, single value field. 1461 zantarctica_icesheet_mass_in = frcv(jpr_antm)%z3(1,1,1) 1471 1472 IF( srcv(jpr_antm)%dimensions == 0 ) THEN 1473 1474 ! This is a zero dimensional, single value field. 1475 zantarctica_icesheet_mass_in = frcv(jpr_antm)%z3(1,1,1) 1476 1477 ELSE 1478 1479 antarctica_icesheet_mass_array(:,:) = frcv(jpr_antm)%z3(:,:,1) 1480 ! take average over ocean points of input array to avoid cumulative error from rounding errors over time 1481 ! The following must be bit reproducible over different PE decompositions 1482 zantarctica_icesheet_mass_in = glob_sum( antarctica_icesheet_mass_array(:,:) * tmask(:,:,1) ) 1483 zantarctica_icesheet_mass_in = zantarctica_icesheet_mass_in / zmask_sum 1484 1485 END IF 1462 1486 1463 1487 antarctica_icesheet_timelapsed = antarctica_icesheet_timelapsed + rdt
Note: See TracChangeset
for help on using the changeset viewer.