- Timestamp:
- 2015-06-04T09:48:48+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5218_CNRS17_coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r5305 r5343 485 485 srcv(jpr_otx1)%clgrid = 'U' ! oce components given at U-point 486 486 srcv(jpr_oty1)%clgrid = 'V' ! and V-point 487 ! Vectors: change of sign at north fold ONLY if on the local grid 488 srcv( (/jpr_otx1,jpr_oty1/) )%nsgn = -1. 487 489 sn_rcv_tau%clvgrd = 'U,V' 488 490 sn_rcv_tau%clvor = 'local grid' … … 981 983 ! (arrays no more filled at sbcssm stage) 982 984 ! ! ================== ! 983 ! ! SST !984 ! ! ================== !985 IF( srcv(jpr_toce)%laction ) THEN ! received by sas in case of opa <-> sas coupling986 sst_m(:,:) = frcv(jpr_toce)%z3(:,:,1)987 tsn(:,:,1,jp_tem) = sst_m(:,:)988 ENDIF989 ! ! ================== !990 985 ! ! SSS ! 991 986 ! ! ================== ! … … 993 988 sss_m(:,:) = frcv(jpr_soce)%z3(:,:,1) 994 989 tsn(:,:,1,jp_sal) = sss_m(:,:) 990 ENDIF 991 ! 992 ! ! ================== ! 993 ! ! SST ! 994 ! ! ================== ! 995 IF( srcv(jpr_toce)%laction ) THEN ! received by sas in case of opa <-> sas coupling 996 sst_m(:,:) = frcv(jpr_toce)%z3(:,:,1) 997 tsn(:,:,1,jp_tem) = sst_m(:,:) ! keep the received (potential or conservative) temperature in tsn 998 IF( srcv(jpr_soce)%laction .AND. ln_useCT ) THEN ! make sure that sst_m is the potential temperature 999 sst_m(:,:) = eos_pt_from_ct( sst_m(:,:), sss_m(:,:) ) 1000 ENDIF 995 1001 ENDIF 996 1002 ! ! ================== ! … … 1057 1063 END IF 1058 1064 ! update qns over the free ocean with: 1059 zqns(:,:) = zqns(:,:) - zemp(:,:) * sst_m(:,:) * rcp ! remove heat content due to mass flux (assumed to be at SST) 1060 IF( srcv(jpr_snow )%laction ) THEN 1061 zqns(:,:) = zqns(:,:) - frcv(jpr_snow)%z3(:,:,1) * lfus ! energy for melting solid precipitation over the free ocean 1065 IF( nn_components /= jp_iam_opa ) THEN 1066 zqns(:,:) = zqns(:,:) - zemp(:,:) * sst_m(:,:) * rcp ! remove heat content due to mass flux (assumed to be at SST) 1067 IF( srcv(jpr_snow )%laction ) THEN 1068 zqns(:,:) = zqns(:,:) - frcv(jpr_snow)%z3(:,:,1) * lfus ! energy for melting solid precipitation over the free ocean 1069 ENDIF 1062 1070 ENDIF 1063 1071 IF( ln_mixcpl ) THEN ; qns(:,:) = qns(:,:) * xcplmask(:,:,0) + zqns(:,:) * zmsk(:,:) … … 1070 1078 ELSE ; zqsr(:,:) = 0._wp 1071 1079 ENDIF 1072 IF( ln_dm2dc ) zqsr(:,:) = sbc_dcy( zqsr )! modify qsr to include the diurnal cycle1080 IF( ln_dm2dc .AND. nn_components /= jp_iam_opa ) zqsr(:,:) = sbc_dcy( zqsr ) ! modify qsr to include the diurnal cycle 1073 1081 IF( ln_mixcpl ) THEN ; qsr(:,:) = qsr(:,:) * xcplmask(:,:,0) + zqsr(:,:) * zmsk(:,:) 1074 1082 ELSE ; qsr(:,:) = zqsr(:,:) … … 1627 1635 ! ! ------------------------- ! 1628 1636 IF( ssnd(jps_toce)%laction .OR. ssnd(jps_tice)%laction .OR. ssnd(jps_tmix)%laction ) THEN 1637 1629 1638 IF ( nn_components == jp_iam_opa ) THEN 1630 ztmp1(:,:) = tsn(:,:,1,jp_tem) 1639 ztmp1(:,:) = tsn(:,:,1,jp_tem) ! send temperature as it is (potential or conservative) -> use of ln_useCT on the received part 1631 1640 ELSE 1641 ! we must send the surface potential temperature 1642 IF( ln_useCT ) THEN ; ztmp1(:,:) = eos_pt_from_ct( tsn(:,:,1,jp_tem), tsn(:,:,1,jp_sal) ) 1643 ELSE ; ztmp1(:,:) = tsn(:,:,1,jp_tem) 1644 ENDIF 1645 ! 1632 1646 SELECT CASE( sn_snd_temp%cldes) 1633 CASE( 'oce only' ) ; ztmp1(:,:) = tsn(:,:,1,jp_tem) + rt01634 CASE( 'weighted oce and ice' ) ; ztmp1(:,:) = ( tsn(:,:,1,jp_tem) + rt0 ) * zfr_l(:,:)1647 CASE( 'oce only' ) ; ztmp1(:,:) = ztmp1(:,:) + rt0 1648 CASE( 'weighted oce and ice' ) ; ztmp1(:,:) = ( ztmp1(:,:) + rt0 ) * zfr_l(:,:) 1635 1649 SELECT CASE( sn_snd_temp%clcat ) 1636 1650 CASE( 'yes' ) … … 1644 1658 END SELECT 1645 1659 CASE( 'mixed oce-ice' ) 1646 ztmp1(:,:) = ( tsn(:,:,1,jp_tem) + rt0 ) * zfr_l(:,:)1660 ztmp1(:,:) = ( ztmp1(:,:) + rt0 ) * zfr_l(:,:) 1647 1661 DO jl=1,jpl 1648 1662 ztmp1(:,:) = ztmp1(:,:) + tn_ice(:,:,jl) * a_i(:,:,jl)
Note: See TracChangeset
for help on using the changeset viewer.