Page 1 Source Listing W3FLX1 2014-09-16 16:54 w3flx1md.f90 1 !/ ------------------------------------------------------------------- / 2 MODULE W3FLX1MD 3 !/ 4 !/ +-----------------------------------+ 5 !/ | WAVEWATCH III NOAA/NCEP | 6 !/ | H. L. Tolman | 7 !/ | FORTRAN 90 | 8 !/ | Last update : 29-May-2009 | 9 !/ +-----------------------------------+ 10 !/ 11 !/ 03-Jul-2006 : Origination. ( version 3.09 ) 12 !/ 29-May-2009 : Preparing distribution version. ( version 3.14 ) 13 !/ 14 !/ Copyright 2009 National Weather Service (NWS), 15 !/ National Oceanic and Atmospheric Administration. All rights 16 !/ reserved. WAVEWATCH III is a trademark of the NWS. 17 !/ No unauthorized use without permission. 18 !/ 19 ! 1. Purpose : 20 ! 21 ! Flux/stress computations according to Wu (1980) 22 ! 23 ! 2. Variables and types : 24 ! 25 ! 3. Subroutines and functions : 26 ! 27 ! Name Type Scope Description 28 ! ---------------------------------------------------------------- 29 ! W3FLX1 Subr. Public Stresses according to Wu (1980). 30 ! ---------------------------------------------------------------- 31 ! 32 ! 4. Subroutines and functions used : 33 ! 34 ! Name Type Module Description 35 ! ---------------------------------------------------------------- 36 ! STRACE Subr. W3SERVMD Subroutine tracing. 37 ! ---------------------------------------------------------------- 38 ! 39 ! 5. Remarks : 40 ! 41 ! - Originally used with source term !/ST1. 42 ! 43 ! 6. Switches : 44 ! 45 ! !/S Enable subroutine tracing. 46 ! 47 ! 7. Source code : 48 !/ 49 !/ ------------------------------------------------------------------- / 50 !/ 51 PUBLIC 52 !/ 53 CONTAINS 54 !/ ------------------------------------------------------------------- / 55 SUBROUTINE W3FLX1 ( ZWND, U10, U10D, UST, USTD, Z0, CD ) 56 !/ 57 !/ +-----------------------------------+ Page 2 Source Listing W3FLX1 2014-09-16 16:54 w3flx1md.f90 58 !/ | WAVEWATCH III NOAA/NCEP | 59 !/ | H. L. Tolman | 60 !/ | FORTRAN 90 | 61 !/ | Last update : 03-Jul-2006 | 62 !/ +-----------------------------------+ 63 !/ 64 !/ 03-Jul-2006 : Origination. ( version 3.09 ) 65 !/ 66 ! 1. Purpose : 67 ! 68 ! FLux/stress computations according to Wu (1980) 69 ! 70 ! 2. Method : 71 ! 72 ! 3. Parameters : 73 ! 74 ! Parameter list 75 ! ---------------------------------------------------------------- 76 ! ZWND Real I Wind height. 77 ! U10 Real I Wind speed. 78 ! U10D Real I Wind direction. 79 ! UST Real O Friction velocity. 80 ! USTD Real 0 Direction of friction velocity. 81 ! Z0 Real O z0 in profile law. 82 ! CD Real O Drag coefficient. 83 ! ---------------------------------------------------------------- 84 ! 85 ! 4. Subroutines used : 86 ! 87 ! Name Type Module Description 88 ! ---------------------------------------------------------------- 89 ! STRACE Subr. W3SERVMD Subroutine tracing. 90 ! ---------------------------------------------------------------- 91 ! 92 ! 5. Called by : 93 ! 94 ! Name Type Module Description 95 ! ---------------------------------------------------------------- 96 ! W3SRCE Subr. W3SRCEMD Source term integration. 97 ! ---------------------------------------------------------------- 98 ! 99 ! 6. Error messages : 100 ! 101 ! None. 102 ! 103 ! 7. Remarks : 104 ! 105 ! 8. Structure : 106 ! 107 ! See source code. 108 ! 109 ! 9. Switches : 110 ! 111 ! !/S Enable subroutine tracing. 112 ! 113 ! 10. Source code : 114 ! Page 3 Source Listing W3FLX1 2014-09-16 16:54 w3flx1md.f90 115 !/ ------------------------------------------------------------------- / 116 USE W3ODATMD, ONLY: NDSE, IAPROC, NAPERR 117 USE W3SERVMD, ONLY: EXTCDE 118 !/ 119 IMPLICIT NONE 120 !/ 121 !/ ------------------------------------------------------------------- / 122 !/ Parameter list 123 !/ 124 REAL, INTENT(IN) :: ZWND, U10, U10D 125 REAL, INTENT(OUT) :: UST, USTD, Z0, CD 126 !/ 127 !/ ------------------------------------------------------------------- / 128 !/ Local parameters 129 !/ 130 !/ 131 !/ ------------------------------------------------------------------- / 132 !/ 133 ! 134 ! 1. Tests ---------------------------------------------------------- * 135 ! 136 IF ( ABS(ZWND-10.) .GT. 0.01 ) THEN 137 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSE,1000) ZWND 138 CALL EXTCDE (1) 139 END IF 140 ! 141 ! 2. Computation ---------------------------------------------------- * 142 ! 143 CD = 0.001 * (0.8+0.065*U10) 144 Z0 = ZWND * EXP ( -0.4 / SQRT(CD) ) 145 UST = U10 * SQRT(CD) 146 USTD = U10D 147 ! 148 RETURN 149 ! 150 ! Formats 151 ! 152 1000 FORMAT (/' *** WAVEWATCH III ERROR IN W3STR1 : '/ & 153 ' HIGHT OF WIND SHOULD BE 10m IN THIS APPRACH '/ & 154 ' ZWND =',F8.2,'m'/) 155 !/ 156 !/ End of W3FLX1 ----------------------------------------------------- / 157 !/ 158 END SUBROUTINE W3FLX1 Page 4 Source Listing W3FLX1 2014-09-16 16:54 Entry Points w3flx1md.f90 ENTRY POINTS Name w3flx1md_mp_w3flx1_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1000 Label 152 137 ABS Func 136 scalar 136 CD Dummy 55 R(4) 4 scalar ARG,OUT 143,144,145 EXP Func 144 scalar 144 EXTCDE Subr 117 117,138 IAPROC Local 116 I(4) 4 scalar PTR 116,137 NAPERR Local 116 I(4) 4 scalar PTR 116,137 NDSE Local 116 I(4) 4 scalar PTR 116,137 SQRT Func 144 scalar 144,145 U10 Dummy 55 R(4) 4 scalar ARG,IN 143,145 U10D Dummy 55 R(4) 4 scalar ARG,IN 146 UST Dummy 55 R(4) 4 scalar ARG,OUT 145 USTD Dummy 55 R(4) 4 scalar ARG,OUT 146 W3FLX1 Subr 55 W3ODATMD Module 116 116 W3SERVMD Module 117 117 Z0 Dummy 55 R(4) 4 scalar ARG,OUT 144 ZWND Dummy 55 R(4) 4 scalar ARG,IN 136,137,144 Page 5 Source Listing W3FLX1 2014-09-16 16:54 w3flx1md.f90 159 !/ 160 !/ End of module INFLX1MD -------------------------------------------- / 161 !/ 162 END MODULE W3FLX1MD SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References W3FLX1MD Module 2 Page 6 Source Listing W3FLX1 2014-09-16 16:54 Subprograms/Common Blocks w3flx1md.f90 SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References W3FLX1 Subr 55 W3FLX1MD Module 2 COMPILER OPTIONS BEING USED -align nocommons -align nodcommons -align noqcommons -align records -align nosequence -align norec1byte -align norec2byte -align norec4byte -align norec8byte -align norec16byte -altparam -assume accuracy_sensitive -assume nobscc -assume nobuffered_io -assume byterecl -assume nocc_omp -assume nocstring -assume nodummy_aliases -assume nofpe_summary -assume noieee_fpe_flags -assume nominus0 -assume noold_boz -assume old_unit_star -assume old_ldout_format -assume noold_logical_ldio -assume old_maxminloc -assume old_xor -assume protect_constants -assume noprotect_parens -assume split_common -assume source_include -assume nostd_intent_in -assume nostd_mod_proc_name -assume norealloc_lhs -assume underscore -assume no2underscores -auto no -auto_scalar no -bintext -ccdefault default -check noargs -check noarg_temp_created -check nobounds -check noformat -check nooutput_conversion -check nooverflow -check nopointers -check power -check noshape -check nounderflow -check nouninitialized -coarray-num-procs 0 no -coarray-config-file -convert big_endian -cross_reference -D __INTEL_COMPILER=1210 -D __unix__ -D __unix -D __linux__ -D __linux -D __gnu_linux__ -D unix -D linux -D __ELF__ -D __x86_64 -D __x86_64__ -D _MT -D __INTEL_COMPILER_BUILD_DATE=20120612 -D __pentium4 -D __pentium4__ -D __tune_pentium4__ -D __SSE2__ -D __SSE3__ -D __SSSE3__ -D __SSE4_1__ -D __SSE4_2__ -D __SSE__ -D __MMX__ -D __AVX__ -double_size 64 no -d_lines no -Qdyncom -error_limit 30 no -f66 no -f77rtl no -fast -fpscomp nofilesfromcmd -fpscomp nogeneral -fpscomp noioformat -fpscomp noldio_spacing -fpscomp nologicals no -fpconstant Page 7 Source Listing W3FLX1 2014-09-16 16:54 w3flx1md.f90 -fpe3 -fprm nearest no -ftz -fp_model noprecise -fp_model fast -fp_model nostrict -fp_model nosource -fp_model nodouble -fp_model noextended -fp_model novery_fast -fp_model noexcept -fp_model nono_except -heap_arrays 0 no -threadprivate_compat -free -g0 -iface nomixed_str_len_arg -iface nono_mixed_str_len_arg no -intconstant -integer_size 32 no -mixed_str_len_arg no -module -names lowercase no -noinclude -O2 no -pad_source -real_size 32 no -recursive -reentrancy none no -sharable_localsaves -vec=simd -show noinclude -show map -show options no -syntax_only no -threadcom no -U no -vms -w noall -w nonone -w alignments -w noargument_checking -w nodeclarations -w general -w noignore_bounds -w noignore_loc -w nointerfaces -w notruncated_source -w uncalled -w uninitialized -w nounused -w usage -includepath : /gpfs/gp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/,.f,./.f,/usrx/local/intel/composerxe/mkl/include/.f, /usrx/local/intel/composerxe/tbb/include/.f,/gpfs/gp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/intel64/.f, /gpfs/gp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/.f,/usr/local/include/.f,/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include/.f, /usr/include/.f,/usr/include/.f -list filename : w3flx1md.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100