Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ifs-source sync #8

Merged
merged 131 commits into from
Jan 25, 2024
Merged
Show file tree
Hide file tree
Changes from 129 commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
952d348
IFS-SOURCE-ECWAM-SYNC: add missing members of TYPE(FORCING_FIELDS)
awnawab Dec 6, 2023
486070b
STATIC LINKING FIX: set LINKER_LANGUAGE for ecwam programs
awnawab Nov 14, 2023
90e594c
NVHPC: Downgrading compiler optimisation for two more files
mlange05 May 26, 2023
bd56b89
IFS-SOURCE-ECWAM-SYNC: resolved merge conflicts with master as of 202…
awnawab Dec 5, 2023
67416b8
add comments
jrbidlot Apr 18, 2023
0c870fe
test when land is detected in line search to exit loop and iterate th…
jrbidlot Apr 18, 2023
6aabed4
test when land is detected in line search to exit loop and iterate th…
jrbidlot Apr 18, 2023
7de7e43
revert previous change
jrbidlot Apr 19, 2023
317fc0b
set IREINF back to 1 for XDELLA <= 0.1
jrbidlot Apr 25, 2023
770e2ec
quick test on sensitivity of SQRT2 being sqrt(2) rather than 2
jrbidlot Apr 26, 2023
4f17315
SQRT2 -> PENHCOR
jrbidlot Apr 27, 2023
c7ecac8
corrections
jrbidlot Apr 28, 2023
0ca9503
cosmetic
jrbidlot Apr 29, 2023
af501da
cosmetic
jrbidlot Apr 29, 2023
674e3e9
correction
jrbidlot Apr 29, 2023
7dfe2b8
cosmetic
jrbidlot Apr 30, 2023
97cf590
bug fix in buildstress
jrbidlot Apr 30, 2023
67c250b
fix
jrbidlot May 1, 2023
71698f2
correct readwgrib to be general
jrbidlot May 1, 2023
c6d591f
silly test
jrbidlot May 2, 2023
7fa0660
revert previous silly test
jrbidlot May 4, 2023
8f8fc92
moving away from input BLK2GLO
jrbidlot May 17, 2023
2f6d1da
DEPTH_INPUT replaced by BATHY
jrbidlot May 17, 2023
c6afdf2
DEPTH_INPUT replaced by BATHY
jrbidlot May 17, 2023
c29ba0a
remove BLK2GLO from input
jrbidlot May 17, 2023
6b4358d
remove BLK2GLO from input
jrbidlot May 17, 2023
c739bb1
save
jrbidlot May 18, 2023
c324497
test
jrbidlot May 19, 2023
809ba02
test
jrbidlot May 19, 2023
813afd7
test
jrbidlot May 19, 2023
cac9eeb
reduced memory for calling propconnect
jrbidlot May 19, 2023
970ff16
adapt propconnect for 2d decomposition
jrbidlot May 19, 2023
3dd6536
adapt propconnect for 2d decomposition
jrbidlot May 19, 2023
3835674
adapt propconnect for 2d decomposition
jrbidlot May 19, 2023
6056258
OpenMP call propconnect
jrbidlot May 30, 2023
130201e
moving mcout to initmdl
jrbidlot May 31, 2023
f4fb67f
moving mcout to initmdl
jrbidlot May 31, 2023
efc9ecb
moving mcout to initmdl
jrbidlot May 31, 2023
cc697a9
reformatting output
jrbidlot Jun 1, 2023
1bb0b4a
reformatting output
jrbidlot Jun 1, 2023
5474259
reformatting output
jrbidlot Jun 1, 2023
d0f5c7b
move call to nlweigt to inisnonlin
jrbidlot Jun 1, 2023
58d85a8
test
jrbidlot Jun 2, 2023
73fc16c
move 2nd order correction table calculations out of preproc
jrbidlot Jun 2, 2023
3b54499
move 2nd order correction table calculations out of preproc
jrbidlot Jun 2, 2023
701b36e
move 2nd order correction table calculations out of preproc
jrbidlot Jun 2, 2023
154e9c5
activate cummulative dissipation for testing
jrbidlot Jun 2, 2023
4128d94
remove dependency on INDEP in SDISS_ARD
jrbidlot Jun 2, 2023
2204564
remove dependency on INDEP in SDISS_ARD
jrbidlot Jun 2, 2023
02f6bbf
debile
jrbidlot Jun 2, 2023
6a836ef
reset cummulative term to 0
jrbidlot Jun 3, 2023
647b9d5
test
jrbidlot Jun 8, 2023
9254361
test
jrbidlot Jun 8, 2023
13e3f7d
test
jrbidlot Jun 8, 2023
2229841
removal of depth table
jrbidlot Jun 8, 2023
2128cbe
use ctcor
jrbidlot Jun 9, 2023
08938c4
clean makefiles
jrbidlot Jun 9, 2023
3cb70bf
correction
jrbidlot Jun 9, 2023
c93af77
save
jrbidlot Jun 12, 2023
a63ba36
cleanning readpreb
jrbidlot Jun 13, 2023
1c32ded
test passing grib2 from IFS to WAM
jrbidlot Jun 6, 2023
eb38d1b
test passing grib2 from IFS to WAM
jrbidlot Jun 6, 2023
5a1a875
debug
jrbidlot Jun 6, 2023
1b87539
debug
jrbidlot Jun 7, 2023
4dcca59
debug
jrbidlot Jun 7, 2023
89fb97d
NGRIB_VERSION in IFS
jrbidlot Jun 7, 2023
2be9d83
clean up
jrbidlot Jun 7, 2023
9c8a305
test using NULERR from fiat module EC_LUN
jrbidlot Jun 13, 2023
d9197f2
test using NULERR from fiat module EC_LUN
jrbidlot Jun 14, 2023
47b0c04
get the changes realted to grib2, restart file for nstpw > 1 and use …
jrbidlot Jun 14, 2023
744ab1a
removing frequency and direction arrays from input
jrbidlot Jun 15, 2023
cdf8269
correction
jrbidlot Jun 15, 2023
3f887fc
fic preset
jrbidlot Jun 15, 2023
5a3aa19
corrections
jrbidlot Jun 15, 2023
6127d91
corrections
jrbidlot Jun 16, 2023
5f3394a
Another fix up of merge 880aef02141132f326709dd7b61e5ea01459c8cf
towil1 Jun 16, 2023
e2949ea
save
jrbidlot Jun 16, 2023
b4c2c55
fix
jrbidlot Jun 16, 2023
0f4cbd4
fix
jrbidlot Jun 16, 2023
43c3df6
test
jrbidlot Jun 17, 2023
d3ea8db
test
jrbidlot Jun 18, 2023
2164943
test
jrbidlot Jun 19, 2023
b4902c1
IFS-SOURCE-ECWAM-SYNC: switch to ECFLOW_LIGHT_UPDATE_METER in wavemdl…
awnawab Dec 6, 2023
b77af2d
test
jrbidlot Jun 19, 2023
e46cd97
test
jrbidlot Jun 19, 2023
9a32f13
fix for mchunk
jrbidlot Jun 20, 2023
34c3d2c
fix intwaminput
jrbidlot Jun 21, 2023
2e16ce6
IFS-2944: Fix illegal edit descriptor for GNU compiler
cresswellp Jun 26, 2023
77cc995
create readmdlconf.F90
jrbidlot Jun 26, 2023
3d05f40
debile
jrbidlot Jun 26, 2023
51e18ae
silly
jrbidlot Jun 26, 2023
6aa00db
correct mpbcastgrid.F90
jrbidlot Jun 27, 2023
1601dd5
IFS-2945: Fix race condition breaking no-NEMO builds
cresswellp Jun 26, 2023
dd8a9ae
use IMDLGRBID_G to identify the input bathymetry
jrbidlot Jun 27, 2023
40c60dc
test changing the percentage of shallow points used to compute the me…
jrbidlot Jun 28, 2023
b0ffd34
try to boost obstruction for high res to compensate for lack on resol…
jrbidlot Jun 29, 2023
9fad3e3
debile
jrbidlot Jun 30, 2023
cfa860d
for resolution below 0.125 degree LSM based on 50% rather than 60%
jrbidlot Jun 30, 2023
cc116d2
add boost to corner obstructions
jrbidlot Jun 30, 2023
a53afae
boost blocking from 50m and deeper
jrbidlot Jul 1, 2023
28b97d6
DEPTHA double at input
jrbidlot Jul 3, 2023
8458505
fix mpminmaxavg for global norm to use the actuall number of non miss…
jrbidlot Jul 3, 2023
fcf3158
remove boosting subgrid
jrbidlot Jul 6, 2023
269cc04
SSDSSC5 0.5
jrbidlot Jul 6, 2023
d28b059
revert SSDSC5 to 0
jrbidlot Jul 10, 2023
037bdd3
correct create_wam_bathymetry_ETOPO1 to not count the same subgrid li…
jrbidlot Jul 13, 2023
ecd0644
smooth a bit the bathymetry and reduced threshold for submerged obstr…
jrbidlot Jul 13, 2023
d913e42
correction
jrbidlot Jul 14, 2023
1c70aa8
try XKEXTHRS 200 instead
jrbidlot Jul 15, 2023
e418d24
revert change to XKEXTHRS and increase IREINF to 4
jrbidlot Jul 16, 2023
36e4832
make sure that all retuning only applies for XDELLA <= 0.125
jrbidlot Jul 20, 2023
e2e8c9d
split initalint to limit memeory usage when running on same grid
jrbidlot Jul 22, 2023
5050622
i I
jrbidlot Jul 22, 2023
9d74c57
limit when global array that is returned to ifs is initialised
jrbidlot Jul 22, 2023
531b2ce
make rfl4wam more verbose if not finding its input
jrbidlot Sep 24, 2023
878df33
mpuserin more verbose
jrbidlot Sep 25, 2023
c15e2ac
Fix hang on LUMI-G by reordering comms and using non-blocking
ioanhadade Dec 3, 2023
bfec65a
IFS-SOURCE-ECWAM-SYNC: don't use ecflow_light in standalone builds
awnawab Dec 6, 2023
19a14f5
IFS-SOURCE-ECWAM-SYNC: update preproc,preset,model runner scripts for…
awnawab Dec 6, 2023
af58bf1
IFS-SOURCE-ECWAM-SYNC: merge CY48R1 into CY49R1_develop fixup
awnawab Dec 7, 2023
f90c011
fix for mpdecomp for Tco3999
jrbidlot Dec 5, 2023
4115cd5
ECWAM: Restore statement function in TAUT_Z0
awnawab Dec 21, 2023
55df4e2
IFS-2839 Exclude wamassi with FORECAST_ONLY
wdeconinck Mar 30, 2023
70c58b9
FIELD_API: fix fetchcontent mechanism so it isn't triggered if field_…
awnawab Dec 21, 2023
6f16c55
ECWAM: Fix to norm calculation in mpminmaxavg.F90
awnawab Dec 27, 2023
86045de
IFS-SOURCE-ECWAM-SYNC: update validation hashes for standalone runner
awnawab Dec 28, 2023
58fc919
IFS-SOURCE-ECWAM-SYNC: update validation hashes for aqua and era5 tests
awnawab Dec 28, 2023
4cf503c
ECWAM: set fp-model=strict for propconnect.F90 for Intel builds
awnawab Dec 28, 2023
3f77924
ECWAM: fix aqua and era5 single-precision validation hashes
awnawab Dec 28, 2023
b326f5a
IFS-SOURCE-ECWAM-SYNC: building with ecflow_light now a configurable …
awnawab Jan 9, 2024
552a536
Github Actions: try fix macOS MPI hosts
wdeconinck Jan 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
cmake_minimum_required( VERSION 3.24 FATAL_ERROR )
find_package( ecbuild 3.4 REQUIRED HINTS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../ecbuild )

set(PARENT_PROJECT_NAME "${PROJECT_NAME}")
if( NOT ECWAM_PROJECT_NAME )
set( ECWAM_PROJECT_NAME ecwam )
endif()
Expand Down Expand Up @@ -89,6 +90,14 @@ if( HAVE_OMP )
set( OpenMP_Fortran_LIBRARIES OpenMP::OpenMP_Fortran )
endif()

### Check if this is a standalone ecWAM build
if(PROJECT_IS_TOP_LEVEL OR (PARENT_PROJECT_NAME STREQUAL "ecwam-bundle"))
set(ECWAM_STANDALONE 1)
else()
set(ECWAM_STANDALONE 0)
ecbuild_find_package( ecflow_light REQUIRED )
endif()

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could be replaced with

ecbuild_add_option( FEATURE ECFLOW
                    DESCRIPTION "ecflow meter updates"
                    REQUIRED_PACKAGES )

It is then not an absolutely required package unless requested via "-DENABLE_ECFLOW=ON" or in the bundle.yml.
This then does not bind this feature to a package or bundle name.

### Sources

include(ecwam_compile_flags)
Expand Down
4 changes: 2 additions & 2 deletions cmake/ecwam_fetchcontent_field_api.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ set(clone_field_api TRUE)
if(field_api_FOUND)
cmake_path(RELATIVE_PATH field_api_DIR BASE_DIRECTORY ${CMAKE_BINARY_DIR} OUTPUT_VARIABLE path_var)
cmake_path(GET path_var PARENT_PATH parent_path)
string(FIND ${parent_path} "../" result_var)
string(FIND ${parent_path} "_deps" result_var)

# If field_api is found but was not cloned by ecWAM, clone_field_api is set to FALSE
string(COMPARE EQUAL ${result_var} "-1" clone_field_api)
string(COMPARE NOTEQUAL ${result_var} "-1" clone_field_api)
endif()

if( clone_field_api )
Expand Down
8 changes: 8 additions & 0 deletions share/ecwam/scripts/ecwam_run_model.sh
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,11 @@ for restart_time in $(read_config output.restart.at[:].time --format=%Y%m%d%H%M%
NAOS+="&NAOS CLSOUT=\"${restart_time}\" /"
done

# MODEL SETUP:
##############
wamnang=$(read_config directions)
wamnfre=$(read_config frequencies)

nproma=$(read_config nproma --default=24)

# read timesteps
Expand Down Expand Up @@ -196,6 +201,9 @@ ln -s ${DATA_DIR}/${forcings_file} sfcwindin

cat > wam_namelist << EOF
&NALINE
NANG = ${wamnang},
NFRE = 36,
NFRE_RED = ${wamnfre},
CLHEADER = " WAVE MODEL ",
CBPLTDT = "${begofrn}",
CEPLTDT = "${endofrn}",
Expand Down
3 changes: 0 additions & 3 deletions share/ecwam/scripts/ecwam_run_preproc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,6 @@ function cleanup() {

wamresol=$(read_config grid)
wamnfre=$(read_config frequencies)
wamnang=$(read_config directions)
wambathy=$(read_config bathymetry)

assert_executable_is_available ${PREPROC} || abort 33
Expand Down Expand Up @@ -111,15 +110,13 @@ cat > procin <<EOF
NFRE_RED= ${wamnfre},
FR1= ${fr1},
IFRE1= ${ifre1},
NANG= ${wamnang},
IRGG= ${irgg},
XDELLA= ${xdella},
XDELLO= ${xdella},
AMOSOP= ${amosop},
AMONOP= ${amonop},
AMOWEP= ${amowep},
AMOEAP= ${amoeap},
DEPTHA= ${deptha},
LAQUA= ${laqua},
LLOBSTRCT= ${llobstrct},
LLUNSTR = ${llunstr},
Expand Down
8 changes: 8 additions & 0 deletions share/ecwam/scripts/ecwam_run_preset.sh
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,11 @@ begofrn=$(read_config begin --format="%Y%m%d%H%M%S")
endofrn=$(read_config end --format="%Y%m%d%H%M%S")
begoffo=$(read_config forcings.at[1].begin --format="%Y%m%d%H%M%S" --default=${endofrn} )

# MODEL SETUP:
##############
wamnang=$(read_config directions)
wamnfre=$(read_config frequencies)

forcings_file=$(read_config forcings.file)

opti=1
Expand Down Expand Up @@ -206,6 +211,9 @@ cat > PREINFO <<EOF
MARSTYPE = "an"
YCLASS = "rd"
YEXPVER = "wave"
NANG = ${wamnang}
NFRE = 36
NFRE_RED = ${wamnfre}
/
EOF

Expand Down
20 changes: 17 additions & 3 deletions src/ecwam/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -62,11 +62,13 @@ list( APPEND ecwam_srcs
cireduce.F90
ciwabr.F90
ciwaf.F90
ctcor.F90
ctuw.F90
ctuwdrv.F90
ctuwini.F90
ctuwupdt.F90
current2wam.F90
depthprpt.F90
difdate.F90
dominant_period.F90
expand_string.F90
Expand Down Expand Up @@ -106,6 +108,7 @@ list( APPEND ecwam_srcs
initnemocpl.F90
iniwcst.F90
intpol.F90
intrpolchk.F90
intspec.F90
inwgrib.F90
iwam_get_unit.F90
Expand All @@ -126,6 +129,7 @@ list( APPEND ecwam_srcs
meansqs.F90
meansqs_gc.F90
meansqs_lf.F90
mfr.F90
mfredir.F90
mgrid.F90
micep.F90
Expand All @@ -148,7 +152,6 @@ list( APPEND ecwam_srcs
mpuserin.F90
mstart.F90
mswell.F90
mtabs.F90
mubuf.F90
mwp1.F90
mwp2.F90
Expand Down Expand Up @@ -191,9 +194,11 @@ list( APPEND ecwam_srcs
propags.F90
propags1.F90
propags2.F90
propconnect.F90
propdot.F90
readbou.F90
readfl.F90
readmdlconf.F90
readpre.F90
readsta.F90
readstress.F90
Expand Down Expand Up @@ -258,8 +263,12 @@ list( APPEND ecwam_srcs
vmin_d.F90
vplus.F90
vplus_d.F90
w_cdf.F90
w_cdfmax.F90
w_maxh.F90
w_mode_st.F90
w_pdf.F90
w_pmax.F90
wam_multio_mod.F90
wam_nproma.F90
wam_sorti.F90
Expand Down Expand Up @@ -414,7 +423,7 @@ endif()
ecbuild_add_library(
TARGET ${ecwam}
SOURCES ${ecwam_srcs}
PUBLIC_LIBS fiat parkind_${prec} ${ecwam}_intfb
PUBLIC_LIBS fiat parkind_${prec} $<$<NOT:${ECWAM_STANDALONE}>:ecflow_lightf> ${ecwam}_intfb
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
PUBLIC_LIBS fiat parkind_${prec} $<$<NOT:${ECWAM_STANDALONE}>:ecflow_lightf> ${ecwam}_intfb
PUBLIC_LIBS fiat parkind_${prec} $<${HAVE_ECFLOW}:ecflow_lightf> ${ecwam}_intfb

${MPI_Fortran_LIBRARIES}
${${PNAME}_OCEANMODEL_LIBRARIES}
PRIVATE_LIBS eccodes_f90
Expand All @@ -423,7 +432,7 @@ ecbuild_add_library(
field_api_${prec}
PUBLIC_INCLUDES $<INSTALL_INTERFACE:include>
PRIVATE_INCLUDES ${${PNAME}_OCEANMODEL_INCLUDE_DIRS}
PUBLIC_DEFINITIONS ${ECWAM_DEFINITIONS}
PUBLIC_DEFINITIONS ${ECWAM_DEFINITIONS} $<${ECWAM_STANDALONE}:_ECWAM_STANDALONE>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can the logic of _ECWAM_STANDALONE be changed to PRIVATELY define variable WAM_HAVE_ECFLOW
and use that within the code?
This is consistent with other preprocessor definitions.

)

ecwam_target_fortran_module_directory(
Expand All @@ -441,8 +450,13 @@ ecwam_target_compile_definitions_FILENAME( ${ecwam} )

if( CMAKE_Fortran_COMPILER_ID MATCHES Intel )
set_source_files_properties( mubuf.F90 PROPERTIES COMPILE_OPTIONS "-fp-model;strict" )
set_source_files_properties( propconnect.F90 PROPERTIES COMPILE_OPTIONS "-fp-model;strict" )
elseif( CMAKE_Fortran_COMPILER_ID MATCHES GNU )
set_source_files_properties( mubuf.F90 PROPERTIES COMPILE_OPTIONS "-ffp-contract=off" )
elseif(CMAKE_Fortran_COMPILER_ID MATCHES "PGI|NVHPC")
set_source_files_properties(
sbottom.F90 PROPERTIES COMPILE_FLAGS " -g -O1 -Mflushz -Mno-signed-zeros -Mstack_arrays "
)
endif()

### The file grib2wgrid.F90 is sensitive to optimizations in single precision builds.
Expand Down
6 changes: 3 additions & 3 deletions src/ecwam/buildstress.F90
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ SUBROUTINE BUILDSTRESS(BLK2LOC, WVENVI, FF_NOW, NEMO2WAM, IREAD)
CALL READWGRIB(IU06, FILNM, IPARAM, CDTPRO, &
& BLK2LOC, &
& NXFFS, NXFFE, NYFFS, NYFFE, FIELDG, &
& CD, KZLEVUWAVE, LLONLYPOS, IREAD, FF_NOW)
& FF_NOW%WSWAVE , KZLEVUWAVE, LLONLYPOS, IREAD)

WRITE(IU06,*) ' '
WRITE(IU06,*) ' A DATA FILE CONTAINING WIND SPEED INFORMATION'
Expand Down Expand Up @@ -268,13 +268,13 @@ SUBROUTINE BUILDSTRESS(BLK2LOC, WVENVI, FF_NOW, NEMO2WAM, IREAD)
DO IJ = KIJS, KIJL
!! UFRIC WILL FIRST CONTAIN ITS SQUARE
!! THE NUMERICAL RELATION BETWEEN UFRIC AND WSWAVE SHOULD
!! ALWAYS BE AS IN OUTGRID
!! ALWAYS BE AS IN OUTBETA
FF_NOW%UFRIC(IJ,ICHNK) = CD(IJ, ICHNK) * MAX(FF_NOW%WSWAVE(IJ,ICHNK)**2, EPSU10**2)
FF_NOW%UFRIC(IJ,ICHNK) = MAX(FF_NOW%UFRIC(IJ,ICHNK), EPSUS)
USTAR = SQRT(FF_NOW%UFRIC(IJ,ICHNK))
CDSQRTINV = MIN(1._JWRB/SQRT(CD(IJ, ICHNK)), 50.0_JWRB)
Z0TOT = TEMPXNLEV*EXP(-XKAPPA*CDSQRTINV)
! Z0M ONLY CONTAINS CHARNOCK CONTRIBUTION (see taut_z0)
! Z0M SHOULD ONLY CONTAIN THE CHARNOCK CONTRIBUTION (see taut_z0) TO DETERMINE TAUW
FF_NOW%Z0M(IJ,ICHNK) = MAX(Z0TOT - RNUM/USTAR, ALPHAOG(IJ, ICHNK)*FF_NOW%UFRIC(IJ,ICHNK))
CHARNOCKOG = FF_NOW%Z0M(IJ,ICHNK)/FF_NOW%UFRIC(IJ,ICHNK)
CHARNOCKOG = MAX(CHARNOCKOG, ALPHAOG(IJ, ICHNK))
Expand Down
2 changes: 1 addition & 1 deletion src/ecwam/cal_second_order_spec.F90
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ SUBROUTINE CAL_SECOND_ORDER_SPEC(KIJS, KIJL, F1, WAVNUM, DEPTH, SIG)
USE PARKIND_WAVE, ONLY : JWIM, JWRB, JWRU

USE YOWFRED , ONLY : FR, DFIM, DELTH,TH,FRATIO
USE YOWPARAM, ONLY : NANG, NFRE, CLDOMAIN
USE YOWPARAM, ONLY : NANG, NFRE
USE YOWPCONS, ONLY : G, PI, ZPI
USE YOWSHAL , ONLY : NDEPTH, DEPTHA, DEPTHD
USE YOWTABL , ONLY : MR, XMR, MA, XMA, NFREH, NANGH, NMAX, &
Expand Down
46 changes: 6 additions & 40 deletions src/ecwam/check.F90
Original file line number Diff line number Diff line change
Expand Up @@ -44,16 +44,13 @@ SUBROUTINE CHECK (IINPC)
! ----------------------------------------------------------------------
USE PARKIND_WAVE, ONLY : JWIM, JWRB, JWRU

USE YOWPARAM , ONLY : NANG ,NFRE ,NFRE_RED , &
& NGX ,NGY ,NIBLO
USE YOWPARAM , ONLY : NANG ,NFRE ,NFRE_RED
USE YOWPCONS , ONLY : DEG
USE YOWCPBO , ONLY : IBOUNC ,NBOUNC ,IJARC
USE YOWFPBO , ONLY : IBOUNF ,NBOUNF ,IJARF
USE YOWCOUT , ONLY : NGOUT ,IJAR
USE YOWGRID , ONLY : IJS ,IJL
USE YOWMAP , ONLY : BLK2GLO ,NX ,NY , &
USE YOWMAP , ONLY : BLK2GLO ,NGX ,NGY ,NIBLO, &
& AMOWEP ,AMOSOP ,AMOEAP ,AMONOP ,XDELLO
USE YOWSHAL , ONLY : NDEPTH
USE YOWTEST , ONLY : IU06

! ----------------------------------------------------------------------
Expand Down Expand Up @@ -86,8 +83,8 @@ SUBROUTINE CHECK (IINPC)
!* 2. GENERATE LAND SEA TABLE FROM INDEX ARRAYS.
! ------------------------------------------

DO K=1,NY
DO I=1,NX
DO K=1,NGY
DO I=1,NGX
LST(I,K) = 'L'
ENDDO
ENDDO
Expand All @@ -97,32 +94,6 @@ SUBROUTINE CHECK (IINPC)
IF (BLK2GLO%IXLG(IJ) /= 0 .OR. BLK2GLO%KXLT(IJ) /= 0) LST(BLK2GLO%IXLG(IJ),BLK2GLO%KXLT(IJ)) = 'S'
ENDDO

!* 2.1 INCLUDE OUTPUT POINTS.
! ----------------------

IF (NGOUT > 0) THEN
DO IO=1,NGOUT
IJ = IJAR(IO)
IF (IJ < IJS .OR. IJ > IJL) THEN
IERR = IERR+1
WRITE (IU06,*) ' ***************************************'
WRITE (IU06,*) ' * *'
WRITE (IU06,*) ' * FATAL ERROR IN SUB. CHECK *'
WRITE (IU06,*) ' * ========================= *'
WRITE (IU06,*) ' * *'
WRITE (IU06,*) ' * GRID POINT NUMBER OF OUTPUT POINT IS*'
WRITE (IU06,*) ' * OUT OF RANGE. *'
WRITE (IU06,*) ' * OUTPUT POINT NUMBER IS IO = ', IO
WRITE (IU06,*) ' * GRID POINT NUMBER IS IJ = ', IJ
WRITE (IU06,*) ' * MIN. NUMBER IS IJS = ', IJS
WRITE (IU06,*) ' * MAX. NUMBER IS IJL = ', IJL
WRITE (IU06,*) ' * *'
WRITE (IU06,*) ' ***************************************'
IF (IERR > 20) CALL ABORT1
ENDIF
IF (BLK2GLO%IXLG(IJ) /= 0 .OR. BLK2GLO%KXLT(IJ) /= 0) LST(BLK2GLO%IXLG(IJ),BLK2GLO%KXLT(IJ)) = '+'
ENDDO
ENDIF

!* 2.2 INCLUDE COARSE GRID NEST OUTPUT POINTS.
! ---------------------------------------
Expand Down Expand Up @@ -204,16 +175,11 @@ SUBROUTINE CHECK (IINPC)
WRITE (IU06,'('' NUMBER OF FREQUENCIES NFRE_RED '', 3I10)') &
& NFRE_RED, NFRE_RED, NFRE_RED
WRITE (IU06,'('' NUMBER LONGITUDE GRID POINTS NGX '', 3I10)') &
& NGX, NX, NX
& NGX, NGX, NGX
WRITE (IU06,'('' NUMBER LATITUDE GRID POINTS NGY '', 3I10)') &
& NGY, NY, NY
& NGY, NGY, NGY
WRITE (IU06,'('' MAXIMUM BLOCK LENGTH NIBLO '', 3I10)') &
& NIBLO
WRITE (IU06,'('' NUMBER OF OUTPUT POINTS NGOUT '', 3I10)') &
& NGOUT, MAX(1,NGOUT), NGOUT

WRITE (IU06,'('' SHALLOW WATER TABLE LEN. NDEPTH '', 3I10)') &
& NDEPTH, NDEPTH, NDEPTH

WRITE (IU06,'(/,'' THE DIMENSIONS IN PRESET AND CHIEF HAVE TO '', &
& '' BE THE VALUES IN COLUMN - REQUIRED - '')')
Expand Down
Loading
Loading