Changeset 1756 for trunk/NEMO/OPA_SRC/SBC/sbccpl.F90
- Timestamp:
- 2009-11-25T15:15:20+01:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/SBC/sbccpl.F90
r1752 r1756 49 49 USE p4zflx, ONLY : oce_co2 50 50 #endif 51 USE diaar5, ONLY : lk_diaar5 51 52 IMPLICIT NONE 52 53 PRIVATE … … 1038 1039 INTEGER :: isec, info ! temporary integer 1039 1040 REAL(wp):: zcoef, ztsurf ! temporary scalar 1041 REAL(wp), DIMENSION(jpi,jpj ):: zcptn ! rcp * tn(:,:,1) 1042 REAL(wp), DIMENSION(jpi,jpj ):: ztmp ! temporary array 1040 1043 REAL(wp), DIMENSION(jpi,jpj ):: zsnow ! snow precipitation 1041 1044 REAL(wp), DIMENSION(jpi,jpj,jpl):: zicefr ! ice fraction 1042 1045 !!---------------------------------------------------------------------- 1043 1046 zicefr(:,:,1) = 1.- p_frld(:,:,1) 1047 IF( lk_diaar5 ) zcptn(:,:) = rcp * tn(:,:,1) 1044 1048 ! 1045 1049 ! ! ========================= ! … … 1055 1059 pemp_ice(:,:) = frcv(:,:,jpr_ievp) - frcv(:,:,jpr_snow) 1056 1060 zsnow (:,:) = frcv(:,:,jpr_snow) 1061 CALL iom_put( 'rain' , frcv(:,:,jpr_rain) ) ! liquid precipitation 1062 IF( lk_diaar5 ) CALL iom_put( 'hflx_rain_cea', frcv(:,:,jpr_rain) * zcptn(:,:) ) ! heat flux from liq. precip. 1063 ztmp(:,:) = frcv(:,:,jpr_tevp) - frcv(:,:,jpr_ievp) * zicefr(:,:,1) 1064 CALL iom_put( 'evap_ao_cea' , ztmp ) ! ice-free oce evap (cell average) 1065 IF( lk_diaar5 ) CALL iom_put( 'hflx_evap_cea', ztmp(:,: ) * zcptn(:,:) ) ! heat flux from from evap (cell ave) 1057 1066 CASE( 'oce and ice' ) ! received fields: jpr_sbpr, jpr_semp, jpr_oemp 1058 1067 pemp_tot(:,:) = p_frld(:,:,1) * frcv(:,:,jpr_oemp) + zicefr(:,:,1) * frcv(:,:,jpr_sbpr) … … 1061 1070 END SELECT 1062 1071 psprecip(:,:) = - pemp_ice(:,:) 1063 CALL iom_put( 'snowpre', psprecip ) ! Snow precipitation 1072 CALL iom_put( 'snowpre' , zsnow ) ! Snow 1073 CALL iom_put( 'snow_ao_cea', zsnow(:,: ) * p_frld(:,:,1) ) ! Snow over ice-free ocean (cell average) 1074 CALL iom_put( 'snow_ai_cea', zsnow(:,: ) * zicefr(:,:,1) ) ! Snow over sea-ice (cell average) 1075 CALL iom_put( 'subl_ai_cea', frcv (:,:,jpr_ievp) * zicefr(:,:,1) ) ! Sublimation over sea-ice (cell average) 1064 1076 ! 1065 1077 ! ! runoffs and calving (put in emp_tot) 1066 IF( srcv(jpr_rnf)%laction ) pemp_tot(:,:) = pemp_tot(:,:) - frcv(:,:,jpr_rnf) 1067 IF( srcv(jpr_cal)%laction ) pemp_tot(:,:) = pemp_tot(:,:) - ABS( frcv(:,:,jpr_cal) ) 1078 IF( srcv(jpr_rnf)%laction ) THEN 1079 pemp_tot(:,:) = pemp_tot(:,:) - frcv(:,:,jpr_rnf) 1080 CALL iom_put( 'runoffs' , frcv(:,:,jpr_rnf ) ) ! rivers 1081 IF( lk_diaar5 ) CALL iom_put( 'hflx_rnf_cea' , frcv(:,:,jpr_rnf ) * zcptn(:,:) ) ! heat flux from rivers 1082 ENDIF 1083 IF( srcv(jpr_cal)%laction ) THEN 1084 pemp_tot(:,:) = pemp_tot(:,:) - frcv(:,:,jpr_cal) 1085 CALL iom_put( 'calving', frcv(:,:,jpr_cal) ) 1086 ENDIF 1068 1087 ! 1069 1088 !!gm : this seems to be internal cooking, not sure to need that in a generic interface … … 1101 1120 ! energy for melting solid precipitation over ice-free ocean 1102 1121 zcoef = xlsn / rhosn 1103 pqns_tot(:,:) = pqns_tot(:,:) - p_frld(:,:,1) * zsnow(:,:) * zcoef 1122 ztmp(:,:) = p_frld(:,:,1) * zsnow(:,:) * zcoef 1123 pqns_tot(:,:) = pqns_tot(:,:) - ztmp(:,:) 1124 IF( lk_diaar5 ) CALL iom_put( 'hflx_snow_cea', ztmp + zsnow(:,:) * zcptn(:,:) ) ! heat flux from snow (cell average) 1104 1125 !!gm 1105 1126 !! currently it is taken into account in leads budget but not in the qns_tot, and thus not in … … 1113 1134 IF( srcv(jpr_cal)%laction ) THEN 1114 1135 zcoef = xlic / rhoic 1115 pqns_tot(:,:) = pqns_tot(:,:) - frcv(:,:,jpr_cal) * zcoef 1136 ztmp(:,:) = frcv(:,:,jpr_cal) * zcoef 1137 pqns_tot(:,:) = pqns_tot(:,:) - ztmp(:,:) 1138 IF( lk_diaar5 ) CALL iom_put( 'hflx_cal_cea', ztmp + frcv(:,:,jpr_cal) * zcptn(:,:) ) ! heat flux from calving 1116 1139 ENDIF 1117 1140
Note: See TracChangeset
for help on using the changeset viewer.