Compare commits

...

5 Commits

Author SHA1 Message Date
Sven Karsten 45b0537c31 Switched on optimization again. 1 year ago
Sven Karsten 1769c8b0d5 Temporarily enable traceback in release build 1 year ago
Sven Karsten 7d5bd60bce Workaround in generic_ERGOM.F90 1 year ago
Sven Karsten 1e54ed65f7 Avoid NaNs in surface_flux.F90 1 year ago
Sven Karsten 4f057aa007 Updated to newest generic_ERGOM 1 year ago
  1. 8
      build_hlrng.sh
  2. 21
      src/coupler/surface_flux.F90
  3. 6118
      src/ocean_shared/generic_tracers/generic_ERGOM.F90

8
build_hlrng.sh

@ -43,9 +43,11 @@ else
# compiler flags
export IOW_ESM_CPPDEFS="-DOASIS_IOW_ESM"
export IOW_ESM_FFLAGS="-O3 -r8 -no-prec-div -fp-model fast=2 -xHost -I${IOW_ESM_NETCDF_INCLUDE}/"
export IOW_ESM_CFLAGS="-O3 -r8 -no-prec-div -fp-model fast=2 -xHost -I${IOW_ESM_NETCDF_INCLUDE}/"
export IOW_ESM_LDFLAGS="-L${IOW_ESM_NETCDF_LIBRARY} -lnetcdf -lnetcdff -Wl,-rpath,${IOW_ESM_NETCDF_LIBRARY}"
#export IOW_ESM_FFLAGS="-fpp -fpe0 -r8 -O0 -traceback -g -I${IOW_ESM_NETCDF_INCLUDE}/"
#export IOW_ESM_CFLAGS="-O0 -traceback -g -I${IOW_ESM_NETCDF_INCLUDE}/"
export IOW_ESM_FFLAGS="-fpp -fpe0 -r8 -O3 -fp-model precise -xHost -traceback -g -I${IOW_ESM_NETCDF_INCLUDE}/"
export IOW_ESM_CFLAGS="-O3 -traceback -g -I${IOW_ESM_NETCDF_INCLUDE}/"
export IOW_ESM_LDFLAGS="-g -traceback -L${IOW_ESM_NETCDF_LIBRARY} -lnetcdf -lnetcdff -Wl,-rpath,${IOW_ESM_NETCDF_LIBRARY}"
fi
# MAKE CLEAN

21
src/coupler/surface_flux.F90

@ -461,12 +461,21 @@ subroutine surface_flux_1d ( &
w_gust = gust
end where
endif
where(avail)
w_atm = sqrt(u_dif*u_dif + v_dif*v_dif + w_gust*w_gust)
#IFDEF OASIS_IOW_ESM
endwhere
where(avail .AND. w_atm > 1.0E-15 ) ! avoid dividing by zero
#ENDIF
! derivatives of surface wind w.r.t. atm. wind components
dw_atmdu = u_dif/w_atm
dw_atmdv = v_dif/w_atm
#IFDEF OASIS_IOW_ESM
elsewhere
dw_atmdu = 0.0
dw_atmdv = 0.0
#ENDIF
endwhere
endif
@ -498,6 +507,8 @@ subroutine surface_flux_1d ( &
q_star = 0.0
q_surf = 0.0
w_atm = 0.0
dtaudu_atm = 0.0
dtaudv_atm = 0.0
ELSEIF (TRIM(type_atmos) == 'none') THEN
#ENDIF
where (avail)
@ -563,9 +574,7 @@ subroutine surface_flux_1d ( &
q_surf = 0.0
w_atm = 0.0
endwhere
#IFDEF OASIS_IOW_ESM
ENDIF
#ENDIF
! calculate d(stress component)/d(atmos wind component)
dtaudu_atm = 0.0
dtaudv_atm = 0.0
@ -581,6 +590,10 @@ subroutine surface_flux_1d ( &
endwhere
endif
#IFDEF OASIS_IOW_ESM
ENDIF
#ENDIF
end subroutine surface_flux_1d
! </SUBROUTINE>

6118
src/ocean_shared/generic_tracers/generic_ERGOM.F90

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save