Changeset 7454 for branches/UKMO/r6232_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO
- Timestamp:
- 2016-12-06T15:07:06+01:00 (8 years ago)
- Location:
- branches/UKMO/r6232_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/r6232_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90
r7452 r7454 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 1 MODULE inv_bar_vel_mod 2 3 !! Modules used 4 USE oce 5 USE dom_oce 6 USE sbcflx 7 USE sbc_oce 8 9 ! REAL(wp), DIMENSION(jpi,jpj) :: apgu, apgv !Pres grad force u and v component 10 PUBLIC inv 11 12 CONTAINS 13 14 SUBROUTINE inv(kt) 15 USE oce 16 USE dom_oce 17 USE sbcflx 18 USE sbc_oce 19 20 INTEGER, INTENT ( in ) :: kt ! ocean time step 21 22 ! REAL(wp), INTENT(in, out) :: ua,va 23 ! REAL(wp), DIMENSION(jpi,jpj) :: apgu, apgv !Pres grad force u and v component 3 24 4 25 ! IF ( ln_shelf_flx ) then 26 ! Adjust the velocity 27 ! write(10,*)'kt = ', kt 5 28 6 7 8 9 <head> 10 <title> 11 inv_bar_vel_mod.F90 in branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC 12 – NEMO 13 </title> 14 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 15 <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 16 <!--[if IE]><script type="text/javascript"> 17 if (/^#__msie303:/.test(window.location.hash)) 18 window.location.replace(window.location.hash.replace(/^#__msie303:/, '#')); 19 </script><![endif]--> 20 <link rel="search" href="/nemo/search" /> 21 <link rel="help" href="/nemo/wiki/TracGuide" /> 22 <link rel="alternate" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90?rev=7120&format=txt" type="text/plain" title="Plain Text" /><link rel="alternate" href="/nemo/export/7120/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90" type="text/x-fortran; charset=utf-8" title="Original Format" /> 23 <link rel="up" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90" /> 24 <link rel="start" href="/nemo/wiki" /> 25 <link rel="stylesheet" href="/nemo/chrome/common/css/trac.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/contextchrome/css/contextchrome.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/common/css/code.css" type="text/css" /><link rel="stylesheet" href="/nemo/pygments/trac.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/common/css/browser.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/tracwysiwyg/wysiwyg.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/usernamedecorate/tipsy.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/usernamedecorate/base.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/tracmenus/css/tracmenus.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/listofwikipages/style.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/bookmark/css/tracbookmark.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/tracbib/base.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/datasaver/datasaver.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/breadcrumbs/css/breadcrumbs.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/userpictures/userpictures.css" type="text/css" /> 26 <link rel="tracwysiwyg.stylesheet" href="/nemo/chrome/common/css/trac.css" /><link rel="tracwysiwyg.stylesheet" href="/nemo/chrome/tracwysiwyg/editor.css" /> 27 <link rel="tracwysiwyg.base" href="/nemo" /> 28 <link rel="shortcut icon" href="/nemo/chrome/site/favicon.ico" type="image/x-icon" /> 29 <link rel="icon" href="/nemo/chrome/site/favicon.ico" type="image/x-icon" /> 30 <link type="application/opensearchdescription+xml" rel="search" href="/nemo/search/opensearch" title="Search NEMO" /> 31 <script type="text/javascript"> 32 var config__ticket__decolate_fields=["type"]; 33 var _tracwysiwyg={}; 34 </script> 35 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/common/js/jquery.js"></script> 36 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/common/js/babel.js"></script> 37 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/common/js/trac.js"></script> 38 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/common/js/search.js"></script> 39 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/contextchrome/js/xdr.js"></script> 40 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/contextchrome/js/intertracticketlinkdecorator.js"></script> 41 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/tracwysiwyg/wysiwyg.js"></script> 42 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/usernamedecorate/jquery.tipsy.js"></script> 43 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/usernamedecorate/base.js"></script> 44 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/tracsectionedit/js/tracsectionedit.js"></script> 45 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/tracmenus/js/superfish.js"></script> 46 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/tracmenus/js/tracmenus.js"></script> 47 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/tracmenus/js/jquery.hoverIntent.minified.js"></script> 48 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/bookmark/js/tracbookmark.js"></script> 49 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/datasaver/datasaver.js"></script> 50 <script type="text/javascript" src="/nemo/chrome/common/js/folding.js"></script> 51 <script type="text/javascript"> 52 jQuery(document).ready(function($) { 53 $(".trac-toggledeleted").show().click(function() { 54 $(this).siblings().find(".trac-deleted").toggle(); 55 return false; 56 }).click(); 57 $("#jumploc input").hide(); 58 $("#jumploc select").change(function () { 59 this.parentNode.parentNode.submit(); 60 }); 61 $('#preview table.code').enableCollapsibleColumns($('#preview table.code thead th.content')); 62 }); 63 </script> 64 <link rel="stylesheet" type="text/css" href="/nemo/chrome/site/style.css" /> 65 </head> 66 <body> 67 <div id="siteheader"> 68 <!--<img src="${href.chrome('site/NEMO_logo.png)}" height="60" width="189" alt="NEMO Ocean Modeling Framework" />--> 69 </div> 70 <div id="banner"> 71 <div id="header"> 72 <a id="logo" href="http://forge.ipsl.jussieu.fr/nemo/wiki/Home"><img src="/nemo/chrome/site/banner_huge_728x90.png" alt="NEMO Ocean Modeling Framework" /></a> 73 </div> 74 <form id="search" action="/nemo/search" method="get"> 75 <div> 76 <label for="proj-search">Search:</label> 77 <input type="text" id="proj-search" name="q" size="18" value="" /> 78 <input type="submit" value="Search" /> 79 </div> 80 </form> 81 <div id="metanav" class="nav"> 82 <ul> 83 <li class="first">logged in as jcastill</li><li><a href="/nemo/logout">Logout</a></li><li><a href="/nemo/prefs">Preferences</a></li><li><a href="/nemo/notification" title="Wiki Pages Change Notifications">My Notifications</a></li><li class="last"><a href="/nemo/wiki/EditorGuide">Help/Guide</a></li> 84 </ul><ul class="nav" id="breadcrumbs"><li>Last browsed pages:</li><li class="first"><a href="/nemo/wiki/Developers/WorkingPractices" title="Developers/Working Practices">Developers/Working Practices</a></li><li><a href="/nemo/wiki/2016WP/WAVE-3_JuanCastillo" title="2016WP/WAVE-3_Juan Castillo">2016WP/WAVE-3_Juan Castillo</a></li><li><a href="/nemo/wiki/Agenda/ST/2016-11-30" title="Agenda/ST/2016-11-30">Agenda/ST/2016-11-30</a></li><li><a href="/nemo/ticket/1598" title="Bug: bug fix in fld_clopn for week case (closed: fixed)">#1598</a></li><li><a href="/nemo/ticket/1592" title="Bug: bug if nn_isf > 0 and key_vvl (ISF related) (closed: fixed)">#1592</a></li><li class="last"><a href="/nemo/ticket/1574" title="Bug: Unitialised values in namobs namelist (closed: fixed)">#1574</a></li></ul> 85 </div> 86 </div> 87 <div id="mainnav" class="nav"> 88 <ul> 89 <li class="first"><a href="/nemo/wiki">Wiki</a><ul><li><a href="/nemo/wiki/WorkingGroups">Working Groups</a></li><li><a href="#">Work Plan</a><ul><li><a href="/nemo/wiki/2017WP">2017</a></li><li><a href="#">2016</a><ul><li><a href="/nemo/wiki/2016WP">Summary</a></li><li><a href="/nemo/wiki/2016WP/2016SharedActions">Shared Actions</a></li></ul></li><li><a href="/nemo/wiki/2999WP">Previous</a></li></ul></li></ul></li><li><a href="#">Code</a><ul><li><a href="#">Browse</a><ul><li><a href="/nemo/browser">Repository root</a></li><li><a href="/nemo/browser/branches/2016">Branches/2016</a></li><li><a href="/nemo/browser/branches/2015/nemo_v3_6_STABLE/NEMOGCM">3.6 Release</a></li><li><a href="/nemo/browser/trunk/NEMOGCM">Trunk</a></li></ul></li><li><a href="https://pagesperso.locean-ipsl.upmc.fr/ntmlod/trusting">Trusting Results</a></li></ul></li><li><a href="/nemo/report">Tickets</a><ul><li><a href="/nemo/report/1">Active Tickets</a></li><li><a href="/nemo/newticket">Create New Ticket</a></li><li><a href="/nemo/query">Custom Query</a></li></ul></li><li><a href="/nemo/timeline?changeset=on&discussion=on&tags=on&ticket=on&ticket_details=on&wiki=on">Timeline</a><ul><li><a href="/nemo/timeline?ticket=on&ticket_details=on">Tickets Events</a></li><li><a href="/nemo/timeline?changeset=on">Last Commits</a></li><li><a href="/nemo/timeline?wiki=on">Wiki Updates</a></li></ul></li><li><a href="/nemo/tags">Tags</a></li><li><a href="/nemo/me">My Page</a></li><li><a href="#">Web Doc.</a><ul><li><a href="/nemo/doxygen">Reference Manuals</a></li><li><a href="/nemo/wiki/Bibliography">Bibliography</a></li></ul></li><li><a href="#">Users</a><ul><li><a href="/nemo/discussion">Forum</a></li><li><a href="/nemo/wiki/Users/2016NEMO_UsersMeeting">2016 Users Meeting</a></li><li><a href="#">IS-ENES</a><ul><li><a href="/nemo/wiki/core2_cmip">Core II CMIP</a></li><li><a href="/nemo/wiki/NEMOConfigurationDataBase">Config DB</a></li></ul></li></ul></li><li><a href="#">Dev. Plan</a><ul><li><a href="/nemo/roadmap">Roadmap</a></li><li><a href="/nemo/versions">Versions</a></li><li><a href="/nemo/peerreviewmain">Peer Review</a></li></ul></li><li><a href="/nemo/wiki/SysTeam">System Team</a><ul><li><a href="#">Working</a><ul><li><a href="/nemo/wiki/Developers/WorkingPractices">Practices</a></li><li><a href="/nemo/wiki/Developers/WorkingFAQ">FAQ</a></li></ul></li><li><a href="/nemo/wiki/Agenda/ST">Agenda</a></li><li><a href="/nemo/wiki/EditorGuide">Wiki Editing</a><ul><li><a href="/nemo/admin/general/wikireplace">Search & Replace</a></li><li><a href="/nemo/wiki/WikiNewPage">Create Page</a></li></ul></li></ul></li><li class="last"><a href="http://www.nemo-ocean.eu">www.nemo-ocean.eu</a></li> 90 </ul> 91 </div> 92 <div id="main"> 93 <div id="ctxtnav" class="nav"> 94 <h2>Context Navigation</h2> 95 <ul> 96 <li class="first"><a class="bookmark_off" data-list="/nemo/bookmark" href="/nemo/bookmark/add/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90%3Frev%3D7120" id="bookmark_this" title="Bookmark this page"></a></li><li><span class="missing">← Previous Revision</span></li><li><a href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90">Latest Revision</a></li><li><span class="missing">Next Revision →</span></li><li><a href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90?annotate=blame&rev=7120" title="Annotate each line with the last changed revision (this can be time consuming...)">Blame</a></li><li><a href="/nemo/log/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90?rev=7120">Revision Log</a></li><li><span id="bookmark_menu"><a href="/nemo/bookmark">Bookmarks</a><ul></ul></span></li><li><a href="/nemo/revtree">Revtree</a></li><li class="last"><a href="javascript:datasaver_restore()" id="datasaver_restorer">Restore Form</a></li> 97 </ul> 98 <hr /> 99 </div> 100 <div id="content" class="browser"> 101 <h1> 102 103 <a class="pathentry first" href="/nemo/browser?rev=7120&order=name" title="Go to repository root">source:</a> 104 <a class="pathentry" href="/nemo/browser/branches?rev=7120&order=name" title="View branches">branches</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO?rev=7120&order=name" title="View UKMO">UKMO</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl?rev=7120&order=name" title="View r5936_CO6_CO5_zenv_pomsdwl">r5936_CO6_CO5_zenv_pomsdwl</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM?rev=7120&order=name" title="View NEMOGCM">NEMOGCM</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO?rev=7120&order=name" title="View NEMO">NEMO</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC?rev=7120&order=name" title="View OPA_SRC">OPA_SRC</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC?rev=7120&order=name" title="View SBC">SBC</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90?rev=7120&order=name" title="View inv_bar_vel_mod.F90">inv_bar_vel_mod.F90</a> 105 <span class="pathentry sep">@</span> 106 <a class="pathentry" href="/nemo/changeset/7120/" title="View changeset 7120">7120</a> 107 <br style="clear: both" /> 108 109 </h1> 110 <div id="diffrev"> 111 <form action="/nemo/changeset" method="get"> 112 <div> 113 <label title="Show the diff against a specific revision"> 114 View diff against: <input type="text" name="old" size="6" /> 115 <input type="hidden" name="old_path" value="branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90" /> 116 <input type="hidden" name="new" value="7120" /> 117 <input type="hidden" name="new_path" value="branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90" /> 118 </label> 119 </div> 120 </form> 121 </div> 122 <div id="jumprev"> 123 <form action="" method="get"> 124 <div> 125 <label for="rev" title="Hint: clear the field to view latest revision"> 126 View revision:</label> 127 <input type="text" id="rev" name="rev" value="7120" size="6" /> 128 </div> 129 </form> 130 </div> 131 <div id="jumploc"> 132 <form action="" method="get"> 133 <div class="buttons"> 134 <label for="preselected">Visit:</label> 135 <select id="preselected" name="preselected"> 136 <option selected="selected"></option> 137 <optgroup label="branches"> 138 <option value="/nemo/browser/trunk">trunk</option><option value="/nemo/browser/branches/2015/dev_5894_INGV_WAVE">branches/2015/dev_5894_INGV_WAVE</option><option value="/nemo/browser/branches/2015/dev_5974_MERCATOR10_LIMINI">branches/2015/dev_5974_MERCATOR10_LIMINI</option><option value="/nemo/browser/branches/2015/dev_agrif_v3_6_STABLE">branches/2015/dev_agrif_v3_6_STABLE</option><option value="/nemo/browser/branches/2015/dev_CMCC_merge_2015">branches/2015/dev_CMCC_merge_2015</option><option value="/nemo/browser/branches/2015/dev_merge_2015">branches/2015/dev_merge_2015</option><option value="/nemo/browser/branches/2015/dev_MetOffice_merge_2015">branches/2015/dev_MetOffice_merge_2015</option><option value="/nemo/browser/branches/2015/dev_NOC_merge_2015">branches/2015/dev_NOC_merge_2015</option><option value="/nemo/browser/branches/2015/dev_r4826_NOC_WAD">branches/2015/dev_r4826_NOC_WAD</option><option value="/nemo/browser/branches/2015/dev_r4999_CNRS9_NOC3_LDF">branches/2015/dev_r4999_CNRS9_NOC3_LDF</option><option value="/nemo/browser/branches/2015/dev_r5003_MERCATOR6_CRS">branches/2015/dev_r5003_MERCATOR6_CRS</option><option value="/nemo/browser/branches/2015/dev_r5020_CNRS_DIAPTR">branches/2015/dev_r5020_CNRS_DIAPTR</option><option value="/nemo/browser/branches/2015/dev_r5021_UKMO1_CICE_coupling">branches/2015/dev_r5021_UKMO1_CICE_coupling</option><option value="/nemo/browser/branches/2015/dev_r5040_CMCC5_BDY_for_TOP">branches/2015/dev_r5040_CMCC5_BDY_for_TOP</option><option value="/nemo/browser/branches/2015/dev_r5044_CNRS_LIM3CLEAN">branches/2015/dev_r5044_CNRS_LIM3CLEAN</option><option value="/nemo/browser/branches/2015/dev_r5056_CMCC4_simplification">branches/2015/dev_r5056_CMCC4_simplification</option><option value="/nemo/browser/branches/2015/dev_r5072_UKMO2_OBS_simplification">branches/2015/dev_r5072_UKMO2_OBS_simplification</option><option value="/nemo/browser/branches/2015/dev_r5087_NOC2_JATTR">branches/2015/dev_r5087_NOC2_JATTR</option><option value="/nemo/browser/branches/2015/dev_r5092_CNRS18_TRUST">branches/2015/dev_r5092_CNRS18_TRUST</option><option value="/nemo/browser/branches/2015/dev_r5094_UKMO_ISFCLEAN">branches/2015/dev_r5094_UKMO_ISFCLEAN</option><option value="/nemo/browser/branches/2015/dev_r5102_CNRS11_TestCase">branches/2015/dev_r5102_CNRS11_TestCase</option><option value="/nemo/browser/branches/2015/dev_r5138_CNRS_PISCES_dcy">branches/2015/dev_r5138_CNRS_PISCES_dcy</option><option value="/nemo/browser/branches/2015/dev_r5144_CMCC5_BDY_for_TOP">branches/2015/dev_r5144_CMCC5_BDY_for_TOP</option><option value="/nemo/browser/branches/2015/dev_r5151_UKMO_ISF">branches/2015/dev_r5151_UKMO_ISF</option><option value="/nemo/browser/branches/2015/dev_r5171_CNRS_LIM3_CMIP6out">branches/2015/dev_r5171_CNRS_LIM3_CMIP6out</option><option value="/nemo/browser/branches/2015/dev_r5171_CNRS_LIM3_ice_atm">branches/2015/dev_r5171_CNRS_LIM3_ice_atm</option><option value="/nemo/browser/branches/2015/dev_r5171_CNRS_LIM3_meltponds">branches/2015/dev_r5171_CNRS_LIM3_meltponds</option><option value="/nemo/browser/branches/2015/dev_r5171_CNRS_LIM3_seaicebgc">branches/2015/dev_r5171_CNRS_LIM3_seaicebgc</option><option value="/nemo/browser/branches/2015/dev_r5177_CNRS4_stopar">branches/2015/dev_r5177_CNRS4_stopar</option><option value="/nemo/browser/branches/2015/dev_r5187_UKMO13_simplification">branches/2015/dev_r5187_UKMO13_simplification</option><option value="/nemo/browser/branches/2015/dev_r5204_CNRS_PISCES_dcy">branches/2015/dev_r5204_CNRS_PISCES_dcy</option><option value="/nemo/browser/branches/2015/dev_r5218_CNRS17_coupling">branches/2015/dev_r5218_CNRS17_coupling</option><option value="/nemo/browser/branches/2015/dev_r5224_CNRS_OPA_Hollingsworth">branches/2015/dev_r5224_CNRS_OPA_Hollingsworth</option><option value="/nemo/browser/branches/2015/dev_r5302_CNRS18_HPC_scalability">branches/2015/dev_r5302_CNRS18_HPC_scalability</option><option value="/nemo/browser/branches/2015/dev_r5546_CNRS19_HPC_scalability">branches/2015/dev_r5546_CNRS19_HPC_scalability</option><option value="/nemo/browser/branches/2015/dev_r5656_Met_Office_3_diurnalSST">branches/2015/dev_r5656_Met_Office_3_diurnalSST</option><option value="/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF">branches/2015/dev_r5721_CNRS9_NOC3_LDF</option><option value="/nemo/browser/branches/2015/dev_r5776_UKMO2_OBS_efficiency_improvs">branches/2015/dev_r5776_UKMO2_OBS_efficiency_improvs</option><option value="/nemo/browser/branches/2015/dev_r5786_CNRS9_NOC3_ZDF">branches/2015/dev_r5786_CNRS9_NOC3_ZDF</option><option value="/nemo/browser/branches/2015/dev_r5803_NOC_WAD">branches/2015/dev_r5803_NOC_WAD</option><option value="/nemo/browser/branches/2015/dev_r5803_UKMO_AGRIF_Vert_interp">branches/2015/dev_r5803_UKMO_AGRIF_Vert_interp</option><option value="/nemo/browser/branches/2015/dev_r5836_NOC3_vvl_by_default">branches/2015/dev_r5836_NOC3_vvl_by_default</option><option value="/nemo/browser/branches/2015/dev_r5847_MERCATOR9_solveur_simplification">branches/2015/dev_r5847_MERCATOR9_solveur_simplification</option><option value="/nemo/browser/branches/2015/dev_r5918_nemo_v3_6_STABLE_XIOS2">branches/2015/dev_r5918_nemo_v3_6_STABLE_XIOS2</option><option value="/nemo/browser/branches/2015/dev_r5936_INGV1_WAVE">branches/2015/dev_r5936_INGV1_WAVE</option><option value="/nemo/browser/branches/2015/dev_r6287_ZDFTMX_new">branches/2015/dev_r6287_ZDFTMX_new</option><option value="/nemo/browser/branches/2015/dev_r6946_Offline_vvl">branches/2015/dev_r6946_Offline_vvl</option><option value="/nemo/browser/branches/2015/nemo_v3_6_STABLE">branches/2015/nemo_v3_6_STABLE</option><option value="/nemo/browser/branches/2016/dev_CMCC_2016">branches/2016/dev_CMCC_2016</option><option value="/nemo/browser/branches/2016/dev_CNRS_2016">branches/2016/dev_CNRS_2016</option><option value="/nemo/browser/branches/2016/dev_CNRS_AGRIF_2016">branches/2016/dev_CNRS_AGRIF_2016</option><option value="/nemo/browser/branches/2016/dev_CNRS_MERCATOR_2016">branches/2016/dev_CNRS_MERCATOR_2016</option><option value="/nemo/browser/branches/2016/dev_HPC_Gyre_benchmark_test">branches/2016/dev_HPC_Gyre_benchmark_test</option><option value="/nemo/browser/branches/2016/dev_INGV_METO_merge_2016">branches/2016/dev_INGV_METO_merge_2016</option><option value="/nemo/browser/branches/2016/dev_INGV_UKMO_2016">branches/2016/dev_INGV_UKMO_2016</option><option value="/nemo/browser/branches/2016/dev_MERCATOR_2016">branches/2016/dev_MERCATOR_2016</option><option value="/nemo/browser/branches/2016/dev_merge_2016">branches/2016/dev_merge_2016</option><option value="/nemo/browser/branches/2016/dev_NOC_2016">branches/2016/dev_NOC_2016</option><option value="/nemo/browser/branches/2016/dev_NOC_CMCC_merge_2016">branches/2016/dev_NOC_CMCC_merge_2016</option><option value="/nemo/browser/branches/2016/dev_r6325_SIMPLIF_1">branches/2016/dev_r6325_SIMPLIF_1</option><option value="/nemo/browser/branches/2016/dev_r6381_SIMPLIF_5">branches/2016/dev_r6381_SIMPLIF_5</option><option value="/nemo/browser/branches/2016/dev_r6393_NOC_WAD">branches/2016/dev_r6393_NOC_WAD</option><option value="/nemo/browser/branches/2016/dev_r6409_SIMPLIF_2_usrdef">branches/2016/dev_r6409_SIMPLIF_2_usrdef</option><option value="/nemo/browser/branches/2016/dev_r6519_HPC_4">branches/2016/dev_r6519_HPC_4</option><option value="/nemo/browser/branches/2016/dev_r6522_SIMPLIF_3">branches/2016/dev_r6522_SIMPLIF_3</option><option value="/nemo/browser/branches/2016/dev_r6522_SIMPLIF_4">branches/2016/dev_r6522_SIMPLIF_4</option><option value="/nemo/browser/branches/2016/dev_r6711_SIMPLIF_6_aerobulk">branches/2016/dev_r6711_SIMPLIF_6_aerobulk</option><option value="/nemo/browser/branches/2016/dev_r6738_METO_5">branches/2016/dev_r6738_METO_5</option><option value="/nemo/browser/branches/2016/dev_r6771_AGRIF_3_AGRIFVVL">branches/2016/dev_r6771_AGRIF_3_AGRIFVVL</option><option value="/nemo/browser/branches/2016/dev_r6859_LIM3_meltponds">branches/2016/dev_r6859_LIM3_meltponds</option><option value="/nemo/browser/branches/2016/dev_r6999_CONFIGMAN_1">branches/2016/dev_r6999_CONFIGMAN_1</option><option value="/nemo/browser/branches/2016/dev_r7012_ROBUST5_CMCC">branches/2016/dev_r7012_ROBUST5_CMCC</option><option value="/nemo/browser/branches/2016/dev_r7012_ROBUST5_CNRS">branches/2016/dev_r7012_ROBUST5_CNRS</option><option value="/nemo/browser/branches/2016/dev_r7161_trunk_XIOS2">branches/2016/dev_r7161_trunk_XIOS2</option><option value="/nemo/browser/branches/2016/dev_r7233_CMIP6_diags_trunk_version">branches/2016/dev_r7233_CMIP6_diags_trunk_version</option><option value="/nemo/browser/branches/2016/dev_v3_6_STABLE_OMP">branches/2016/dev_v3_6_STABLE_OMP</option><option value="/nemo/browser/branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3">branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3</option> 139 </optgroup> 140 </select> 141 <input type="submit" value="Go!" title="Jump to the chosen preselected path" /> 142 </div> 143 </form> 144 </div> 145 <div class="trac-tags"> 146 </div> 147 <table id="info" summary="Revision info"> 148 <tr> 149 <th><img height="40" width="40" src="/nemo/raw-attachment/wiki/UserManagerPluginPictures/jcastill_Work_in_progress.png" class="userpictures_avatar browser-filesource" /> 150 <a href="/nemo/changeset/7120/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90" title="View differences">Last change</a> 151 on this file since 7120 was 152 <a href="/nemo/changeset/7120/" title="View changeset 7120">7120</a>, 153 checked in by <span class="usernamedecorate" title="jcastill - Juan Castillo <juan.m.castillo@metoffice.gov.uk>">Juan Castillo</span>, <a class="timeline" href="/nemo/timeline?from=2016-10-26T18%3A28%3A31%2B02%3A00&precision=second" title="See timeline at 10/26/16 18:28:31">6 weeks ago</a> 154 </th> 155 </tr> 156 <tr> 157 <td class="message searchable"> 158 <p> 159 Changes as in branch UKMO/2015_V36_STABLE_CO6_CO5_zenv_pomsdwl@5793<br /> 160 </p> 161 </td> 162 </tr> 163 <tr><td colspan="2"> 164 <strong>File size:</strong> 165 <span title="1030 bytes">1.0 KB</span> 166 </td></tr> 167 </table> 168 <div id="preview" class="searchable"> 169 170 <table class="code"><thead><tr><th class="lineno" title="Line numbers">Line</th><th class="content"> </th></tr></thead><tbody><tr><th id="L1"><a href="javascript:setLineNum(1)">1</a></th><td><span class="k">MODULE </span><span class="nv">inv_bar_vel_mod</span></td></tr><tr><th id="L2"><a href="javascript:setLineNum(2)">2</a></th><td></td></tr><tr><th id="L3"><a href="javascript:setLineNum(3)">3</a></th><td><span class="c">!! Modules used</span></td></tr><tr><th id="L4"><a href="javascript:setLineNum(4)">4</a></th><td><span class="c"></span> <span class="k">USE </span><span class="nv">oce</span></td></tr><tr><th id="L5"><a href="javascript:setLineNum(5)">5</a></th><td> <span class="k">USE </span><span class="nv">dom_oce</span></td></tr><tr><th id="L6"><a href="javascript:setLineNum(6)">6</a></th><td> <span class="k">USE </span><span class="nv">sbcflx</span></td></tr><tr><th id="L7"><a href="javascript:setLineNum(7)">7</a></th><td> <span class="k">USE </span><span class="nv">sbc_oce</span></td></tr><tr><th id="L8"><a href="javascript:setLineNum(8)">8</a></th><td></td></tr><tr><th id="L9"><a href="javascript:setLineNum(9)">9</a></th><td><span class="c">! REAL(wp), DIMENSION(jpi,jpj) :: apgu, apgv !Pres grad force u and v component</span></td></tr><tr><th id="L10"><a href="javascript:setLineNum(10)">10</a></th><td><span class="c"></span> <span class="k">PUBLIC </span><span class="nv">inv</span></td></tr><tr><th id="L11"><a href="javascript:setLineNum(11)">11</a></th><td></td></tr><tr><th id="L12"><a href="javascript:setLineNum(12)">12</a></th><td><span class="k">CONTAINS</span></td></tr><tr><th id="L13"><a href="javascript:setLineNum(13)">13</a></th><td><span class="k"></span></td></tr><tr><th id="L14"><a href="javascript:setLineNum(14)">14</a></th><td><span class="k"> SUBROUTINE </span><span class="nv">inv</span><span class="p">(</span><span class="nv">kt</span><span class="p">)</span></td></tr><tr><th id="L15"><a href="javascript:setLineNum(15)">15</a></th><td> <span class="k">USE </span><span class="nv">oce</span></td></tr><tr><th id="L16"><a href="javascript:setLineNum(16)">16</a></th><td> <span class="k">USE </span><span class="nv">dom_oce</span></td></tr><tr><th id="L17"><a href="javascript:setLineNum(17)">17</a></th><td> <span class="k">USE </span><span class="nv">sbcflx</span></td></tr><tr><th id="L18"><a href="javascript:setLineNum(18)">18</a></th><td> <span class="k">USE </span><span class="nv">sbc_oce</span></td></tr><tr><th id="L19"><a href="javascript:setLineNum(19)">19</a></th><td></td></tr><tr><th id="L20"><a href="javascript:setLineNum(20)">20</a></th><td> <span class="kt">INTEGER</span><span class="p">,</span> <span class="k">INTENT</span> <span class="p">(</span> <span class="nv">in</span> <span class="p">)</span> <span class="kd">::</span> <span class="nv">kt</span> <span class="c">! ocean time step</span></td></tr><tr><th id="L21"><a href="javascript:setLineNum(21)">21</a></th><td><span class="c"></span></td></tr><tr><th id="L22"><a href="javascript:setLineNum(22)">22</a></th><td><span class="c">! REAL(wp), INTENT(in, out) :: ua,va</span></td></tr><tr><th id="L23"><a href="javascript:setLineNum(23)">23</a></th><td><span class="c">! REAL(wp), DIMENSION(jpi,jpj) :: apgu, apgv !Pres grad force u and v component</span></td></tr><tr><th id="L24"><a href="javascript:setLineNum(24)">24</a></th><td><span class="c"></span> </td></tr><tr><th id="L25"><a href="javascript:setLineNum(25)">25</a></th><td><span class="c">! IF ( ln_shelf_flx ) then</span></td></tr><tr><th id="L26"><a href="javascript:setLineNum(26)">26</a></th><td><span class="c">! Adjust the velocity</span></td></tr><tr><th id="L27"><a href="javascript:setLineNum(27)">27</a></th><td><span class="c">! write(10,*)'kt = ', kt</span></td></tr><tr><th id="L28"><a href="javascript:setLineNum(28)">28</a></th><td><span class="c"></span></td></tr><tr><th id="L29"><a href="javascript:setLineNum(29)">29</a></th><td> <span class="k">Do </span><span class="nv">jk</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="nv">jpk</span></td></tr><tr><th id="L30"><a href="javascript:setLineNum(30)">30</a></th><td> <span class="k">Do </span><span class="nv">jj</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="nv">jpj</span> <span class="c">!should this be jpjm1 because the apgu and apgv were calcd with jpjm1?</span></td></tr><tr><th id="L31"><a href="javascript:setLineNum(31)">31</a></th><td><span class="c"></span> <span class="k">Do </span><span class="nv">ji</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="nv">jpi</span></td></tr><tr><th id="L32"><a href="javascript:setLineNum(32)">32</a></th><td><span class="c">! Do jk = 1, jpk-1</span></td></tr><tr><th id="L33"><a href="javascript:setLineNum(33)">33</a></th><td><span class="c">! Do jj = 2, jpj-1 !should this be jpjm1 because the apgu and apgv were calcd with jpjm1?</span></td></tr><tr><th id="L34"><a href="javascript:setLineNum(34)">34</a></th><td><span class="c">! Do ji = 2, jpi-1</span></td></tr><tr><th id="L35"><a href="javascript:setLineNum(35)">35</a></th><td><span class="c"></span> <span class="nv">ua</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">,</span><span class="nv">jk</span><span class="p">)</span> <span class="o">=</span> <span class="nv">ua</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">,</span><span class="nv">jk</span><span class="p">)</span> <span class="o">+</span> <span class="nv">apgu</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">)</span></td></tr><tr><th id="L36"><a href="javascript:setLineNum(36)">36</a></th><td> <span class="nv">va</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">,</span><span class="nv">jk</span><span class="p">)</span> <span class="o">=</span> <span class="nv">va</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">,</span><span class="nv">jk</span><span class="p">)</span> <span class="o">+</span> <span class="nv">apgv</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">)</span></td></tr><tr><th id="L37"><a href="javascript:setLineNum(37)">37</a></th><td><span class="c">! write(10,*)ua(ji,jj,jk)</span></td></tr><tr><th id="L38"><a href="javascript:setLineNum(38)">38</a></th><td><span class="c">! write(11,*)va(ji,jj,jk)</span></td></tr><tr><th id="L39"><a href="javascript:setLineNum(39)">39</a></th><td><span class="c"></span> <span class="k">End do</span></td></tr><tr><th id="L40"><a href="javascript:setLineNum(40)">40</a></th><td><span class="k"> End do</span></td></tr><tr><th id="L41"><a href="javascript:setLineNum(41)">41</a></th><td><span class="k"> End do</span></td></tr><tr><th id="L42"><a href="javascript:setLineNum(42)">42</a></th><td><span class="c">! ENDIF</span></td></tr><tr><th id="L43"><a href="javascript:setLineNum(43)">43</a></th><td><span class="c"></span><span class="k">END SUBROUTINE </span><span class="nv">inv</span></td></tr><tr><th id="L44"><a href="javascript:setLineNum(44)">44</a></th><td><span class="k">END MODULE </span><span class="nv">inv_bar_vel_mod</span></td></tr></tbody></table> 171 172 </div> 173 <div id="anydiff"> 174 <form action="/nemo/diff" method="get"> 175 <div class="buttons"> 176 <input type="hidden" name="new_path" value="/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90" /> 177 <input type="hidden" name="old_path" value="/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90" /> 178 <input type="hidden" name="new_rev" value="7120" /> 179 <input type="hidden" name="old_rev" value="7120" /> 180 <input type="submit" value="View changes..." title="Select paths and revs for Diff" /> 181 </div> 182 </form> 183 </div> 184 <div id="help"><strong>Note:</strong> See <a href="/nemo/wiki/TracBrowser">TracBrowser</a> 185 for help on using the repository browser.</div> 186 </div> 187 <div id="altlinks"> 188 <h3>Download in other formats:</h3> 189 <ul> 190 <li class="first"> 191 <a rel="nofollow" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90?rev=7120&format=txt">Plain Text</a> 192 </li><li class="last"> 193 <a rel="nofollow" href="/nemo/export/7120/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/inv_bar_vel_mod.F90">Original Format</a> 194 </li> 195 </ul> 196 </div> 197 </div> 198 <div id="footer" lang="en" xml:lang="en"><hr /> 199 <a id="tracpowered" href="http://trac.edgewall.org/"><img src="/nemo/chrome/common/trac_logo_mini.png" height="30" width="107" alt="Trac Powered" /></a> 200 <p class="left">Powered by <a href="/nemo/about"><strong>Trac 1.0.1</strong></a><br /> 201 By <a href="http://www.edgewall.org/">Edgewall Software</a>.</p> 202 <p class="right">Visit the <b><a href="http://www.nemo-ocean.eu">NEMO website</a></b></p> 203 </div> 204 <div id="sitefooter"> 205 </div> 206 </body> 207 </html> 29 Do jk = 1, jpk 30 Do jj = 1, jpj !should this be jpjm1 because the apgu and apgv were calcd with jpjm1? 31 Do ji = 1, jpi 32 ! Do jk = 1, jpk-1 33 ! Do jj = 2, jpj-1 !should this be jpjm1 because the apgu and apgv were calcd with jpjm1? 34 ! Do ji = 2, jpi-1 35 ua(ji,jj,jk) = ua(ji,jj,jk) + apgu(ji,jj) 36 va(ji,jj,jk) = va(ji,jj,jk) + apgv(ji,jj) 37 ! write(10,*)ua(ji,jj,jk) 38 ! write(11,*)va(ji,jj,jk) 39 End do 40 End do 41 End do 42 ! ENDIF 43 END SUBROUTINE inv 44 END MODULE inv_bar_vel_mod -
branches/UKMO/r6232_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90
r7452 r7454 121 121 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: sprecip !: solid precipitation [Kg/m2/s] 122 122 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fr_i !: ice fraction = 1 - lead fraction (between 0 to 1) 123 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: pressnow !: UKMO SHELF pressure 124 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: apgu !: UKMO SHELF pressure forcing 125 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: apgv !: UKMO SHELF pressure forcing 123 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: pressnow !: UKMO SHELF pressure 124 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: apgu !: UKMO SHELF pressure forcing 125 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: apgv !: UKMO SHELF pressure forcing 126 126 #if defined key_cpl_carbon_cycle 127 127 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: atm_co2 !: atmospheric pCO2 [ppm] … … 174 174 #endif 175 175 & ssu_m (jpi,jpj) , sst_m(jpi,jpj) , frq_m(jpi,jpj) , & 176 & pressnow(jpi,jpj), apgu(jpi,jpj) , apgv(jpi,jpj) , & 176 & pressnow(jpi,jpj), apgu(jpi,jpj) , apgv(jpi,jpj) , & 177 177 & ssv_m (jpi,jpj) , sss_m(jpi,jpj) , ssh_m(jpi,jpj) , STAT=ierr(4) ) 178 178 ! -
branches/UKMO/r6232_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/sbcflx.F90
r7452 r7454 34 34 INTEGER , PARAMETER :: jp_qsr = 4 ! index of solar heat file 35 35 INTEGER , PARAMETER :: jp_emp = 5 ! index of evaporation-precipation file 36 INTEGER , PARAMETER :: jp fld = 6 ! maximum number of files to read36 INTEGER , PARAMETER :: jp_press = 6 ! index of pressure for UKMO shelf fluxes 37 37 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf ! structure of input fields (file informations, fields read) 38 LOGICAL , PUBLIC :: ln_shelf_flx = .FALSE. ! UKMO SHELF specific flux flag 38 LOGICAL , PUBLIC :: ln_shelf_flx = .FALSE. ! UKMO SHELF specific flux flag 39 39 INTEGER :: jpfld_local ! maximum number of files to read (locally modified depending on ln_shelf_flx) 40 40 … … 85 85 REAL(wp) :: zcdrag = 1.5e-3 ! drag coefficient 86 86 REAL(wp) :: ztx, zty, zmod, zcoef ! temporary variables 87 REAL :: cs ! UKMO SHELF: Friction co-efficient at surface 88 REAL :: totwindspd ! UKMO SHELF: Magnitude of wind speed vector 89 90 REAL(wp) :: rhoa = 1.22 ! Air density kg/m391 REAL(wp) :: cdrag = 1.5e-3 ! drag coefficient87 REAL :: cs ! UKMO SHELF: Friction co-efficient at surface 88 REAL :: totwindspd ! UKMO SHELF: Magnitude of wind speed vector 89 90 REAL(wp) :: rhoa = 1.22 ! Air density kg/m3 91 REAL(wp) :: cdrag = 1.5e-3 ! drag coefficient 92 92 !! 93 93 CHARACTER(len=100) :: cn_dir ! Root directory for location of flx files 94 94 TYPE(FLD_N), DIMENSION(jpfld) :: slf_i ! array of namelist information structures 95 TYPE(FLD_N) :: sn_utau, sn_vtau, sn_qtot, sn_qsr, sn_emp, sn_press ! informations about the fields to be read 96 LOGICAL :: ln_foam_flx = .FALSE. ! UKMO FOAM specific flux flag 97 NAMELIST/namsbc_flx/ cn_dir, sn_utau, sn_vtau, sn_qtot, sn_qsr, sn_emp, & 98 & ln_foam_flx, sn_press, ln_shelf_flx 95 TYPE(FLD_N) :: sn_utau, sn_vtau, sn_qtot, sn_qsr, sn_emp, sn_press ! informations about the fields to be read 96 LOGICAL :: ln_foam_flx = .FALSE. ! UKMO FOAM specific flux flag 97 NAMELIST/namsbc_flx/ cn_dir, sn_utau, sn_vtau, sn_qtot, sn_qsr, sn_emp, & 98 & ln_foam_flx, sn_press, ln_shelf_flx 99 99 !!--------------------------------------------------------------------- 100 100 ! … … 119 119 slf_i(jp_emp ) = sn_emp 120 120 ! 121 ALLOCATE( sf(jpfld), STAT=ierror ) ! set sf structure122 IF( ln_shelf_flx ) slf_i(jp_press) = sn_press123 124 ! define local jpfld depending on shelf_flx logical125 IF( ln_shelf_flx ) THEN126 jpfld_local = jpfld127 ELSE128 jpfld_local = jpfld-1129 ENDIF130 !121 ALLOCATE( sf(jpfld), STAT=ierror ) ! set sf structure 122 IF( ln_shelf_flx ) slf_i(jp_press) = sn_press 123 124 ! define local jpfld depending on shelf_flx logical 125 IF( ln_shelf_flx ) THEN 126 jpfld_local = jpfld 127 ELSE 128 jpfld_local = jpfld-1 129 ENDIF 130 ! 131 131 IF( ierror > 0 ) THEN 132 132 CALL ctl_stop( 'sbc_flx: unable to allocate sf structure' ) ; RETURN … … 150 150 ELSE ; qsr(:,:) = sf(jp_qsr)%fnow(:,:,1) 151 151 ENDIF 152 !!UKMO SHELF effect of atmospheric pressure on SSH153 ! If using ln_apr_dyn, this is done there so don't repeat here.154 IF( ln_shelf_flx .AND. .NOT. ln_apr_dyn) THEN155 DO jj = 1, jpjm1156 DO ji = 1, jpim1157 apgu(ji,jj) = (-1.0/rau0)*(sf(jp_press)%fnow(ji+1,jj,1)-sf(jp_press)%fnow(ji,jj,1))/e1u(ji,jj)158 apgv(ji,jj) = (-1.0/rau0)*(sf(jp_press)%fnow(ji,jj+1,1)-sf(jp_press)%fnow(ji,jj,1))/e2v(ji,jj)159 END DO160 END DO161 ENDIF ! ln_shelf_flx162 163 152 !CDIR COLLAPSE 153 !!UKMO SHELF effect of atmospheric pressure on SSH 154 ! If using ln_apr_dyn, this is done there so don't repeat here. 155 IF( ln_shelf_flx .AND. .NOT. ln_apr_dyn) THEN 156 DO jj = 1, jpjm1 157 DO ji = 1, jpim1 158 apgu(ji,jj) = (-1.0/rau0)*(sf(jp_press)%fnow(ji+1,jj,1)-sf(jp_press)%fnow(ji,jj,1))/e1u(ji,jj) 159 apgv(ji,jj) = (-1.0/rau0)*(sf(jp_press)%fnow(ji,jj+1,1)-sf(jp_press)%fnow(ji,jj,1))/e2v(ji,jj) 160 END DO 161 END DO 162 ENDIF ! ln_shelf_flx 163 164 164 DO jj = 1, jpj ! set the ocean fluxes from read fields 165 165 DO ji = 1, jpi 166 IF( ln_shelf_flx ) THEN167 !! UKMO SHELF - need atmospheric pressure to calculate Haney forcing168 pressnow(ji,jj) = sf(jp_press)%fnow(ji,jj,1)169 !! UKMO SHELF flux files contain wind speed not wind stress170 totwindspd = sqrt((sf(jp_utau)%fnow(ji,jj,1))**2.0 + (sf(jp_vtau)%fnow(ji,jj,1))**2.0)171 cs = 0.63 + (0.066 * totwindspd)172 utau(ji,jj) = cs * (rhoa/rau0) * sf(jp_utau)%fnow(ji,jj,1) * totwindspd173 vtau(ji,jj) = cs * (rhoa/rau0) * sf(jp_vtau)%fnow(ji,jj,1) * totwindspd174 ELSE175 utau(ji,jj) = sf(jp_utau)%fnow(ji,jj,1)176 vtau(ji,jj) = sf(jp_vtau)%fnow(ji,jj,1)177 ENDIF178 qsr (ji,jj) = sf(jp_qsr )%fnow(ji,jj,1)179 IF( ln_foam_flx .OR. ln_shelf_flx ) THEN180 !! UKMO FOAM flux files contain non-solar heat flux (qns) rather than total heat flux (qtot)181 qns (ji,jj) = sf(jp_qtot)%fnow(ji,jj,1)182 !! UKMO FOAM flux files contain the net DOWNWARD freshwater flux P-E rather then E-P183 emp (ji,jj) = -1. * sf(jp_emp)%fnow(ji,jj,1)184 ELSE185 qns (ji,jj) = sf(jp_qtot)%fnow(ji,jj,1) - sf(jp_qsr)%fnow(ji,jj,1)186 emp (ji,jj) = sf(jp_emp )%fnow(ji,jj,1)187 ENDIF166 IF( ln_shelf_flx ) THEN 167 !! UKMO SHELF - need atmospheric pressure to calculate Haney forcing 168 pressnow(ji,jj) = sf(jp_press)%fnow(ji,jj,1) 169 !! UKMO SHELF flux files contain wind speed not wind stress 170 totwindspd = sqrt((sf(jp_utau)%fnow(ji,jj,1))**2.0 + (sf(jp_vtau)%fnow(ji,jj,1))**2.0) 171 cs = 0.63 + (0.066 * totwindspd) 172 utau(ji,jj) = cs * (rhoa/rau0) * sf(jp_utau)%fnow(ji,jj,1) * totwindspd 173 vtau(ji,jj) = cs * (rhoa/rau0) * sf(jp_vtau)%fnow(ji,jj,1) * totwindspd 174 ELSE 175 utau(ji,jj) = sf(jp_utau)%fnow(ji,jj,1) 176 vtau(ji,jj) = sf(jp_vtau)%fnow(ji,jj,1) 177 ENDIF 178 qsr (ji,jj) = sf(jp_qsr )%fnow(ji,jj,1) 179 IF( ln_foam_flx .OR. ln_shelf_flx ) THEN 180 !! UKMO FOAM flux files contain non-solar heat flux (qns) rather than total heat flux (qtot) 181 qns (ji,jj) = sf(jp_qtot)%fnow(ji,jj,1) 182 !! UKMO FOAM flux files contain the net DOWNWARD freshwater flux P-E rather then E-P 183 emp (ji,jj) = -1. * sf(jp_emp )%fnow(ji,jj,1) 184 ELSE 185 qns (ji,jj) = sf(jp_qtot)%fnow(ji,jj,1) - sf(jp_qsr)%fnow(ji,jj,1) 186 emp (ji,jj) = sf(jp_emp )%fnow(ji,jj,1) 187 ENDIF 188 188 END DO 189 189 END DO … … 191 191 qns(:,:) = qns(:,:) - emp(:,:) * sst_m(:,:) * rcp ! mass flux is at SST 192 192 ! 193 !! UKMO FOAM wind fluxes need lbc_lnk calls owing to a bug in interp.exe 194 IF( ln_foam_flx ) THEN 195 CALL lbc_lnk( utau(:,:), 'U', -1. ) 196 CALL lbc_lnk( vtau(:,:), 'V', -1. ) 197 ENDIF 193 194 !! UKMO FOAM wind fluxes need lbc_lnk calls owing to a bug in interp.exe 195 IF( ln_foam_flx ) THEN 196 CALL lbc_lnk( utau(:,:), 'U', -1. ) 197 CALL lbc_lnk( vtau(:,:), 'V', -1. ) 198 ENDIF 199 198 200 ! ! module of wind stress and wind speed at T-point 199 201 zcoef = 1. / ( zrhoa * zcdrag ) -
branches/UKMO/r6232_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssr.F90
r7452 r7454 42 42 LOGICAL :: ln_sssr_bnd ! flag to bound erp term 43 43 REAL(wp) :: rn_sssr_bnd ! ABS(Max./Min.) value of erp term [mm/day] 44 LOGICAL :: ln_UKMO_haney ! UKMO specific flag to calculate Haney forcing 44 LOGICAL :: ln_UKMO_haney ! UKMO specific flag to calculate Haney forcing 45 45 46 46 REAL(wp) , ALLOCATABLE, DIMENSION(:) :: buffer ! Temporary buffer for exchange … … 80 80 INTEGER :: ierror ! return error code 81 81 !! 82 REAL(wp) :: sst1,sst2 ! sea surface temperature 83 REAL(wp) :: e_sst1, e_sst2 ! saturation vapour pressure 84 REAL(wp) :: qs1,qs2 ! specific humidity 85 REAL(wp) :: pr_tmp ! temporary variable for pressure 86 87 REAL(wp), DIMENSION(jpi,jpj) :: hny_frc1 ! Haney forcing for sensible heat, correction for latent heat 88 REAL(wp), DIMENSION(jpi,jpj) :: hny_frc2 ! Haney forcing for sensible heat, correction for latent heat 89 !! 82 REAL(wp) :: sst1,sst2 ! sea surface temperature 83 REAL(wp) :: e_sst1, e_sst2 ! saturation vapour pressure 84 REAL(wp) :: qs1,qs2 ! specific humidity 85 REAL(wp) :: pr_tmp ! temporary variable for pressure 86 87 REAL(wp), DIMENSION(jpi,jpj) :: hny_frc1 ! Haney forcing for sensible heat, correction for latent heat 88 REAL(wp), DIMENSION(jpi,jpj) :: hny_frc2 ! Haney forcing for sensible heat, correction for latent heat 89 !! 90 90 CHARACTER(len=100) :: cn_dir ! Root directory for location of ssr files 91 91 TYPE(FLD_N) :: sn_sst, sn_sss ! informations about the fields to be read … … 104 104 ! 105 105 IF( nn_sstr == 1 ) THEN !* Temperature restoring term 106 IF( ln_UKMO_haney ) THEN107 DO jj = 1, jpj108 DO ji = 1, jpi109 sst1 = sst_m(ji,jj)110 sst2 = sf_sst(1)%fnow(ji,jj,1)111 e_sst1 = 10**((0.7859+0.03477*sst1)/(1.+0.00412*sst1))112 e_sst2 = 10**((0.7859+0.03477*sst2)/(1.+0.00412*sst2))113 pr_tmp = 0.01*pressnow(ji,jj) !pr_tmp = 1012.0114 qs1 = (0.62197*e_sst1)/(pr_tmp-0.378*e_sst1)115 qs2 = (0.62197*e_sst2)/(pr_tmp-0.378*e_sst2)116 hny_frc1(ji,jj) = sst1-sst2117 hny_frc2(ji,jj) = qs1-qs2118 !Might need to mask off land points.119 hny_frc1(ji,jj)=-hny_frc1(ji,jj)*wndm(ji,jj)*1.42120 hny_frc2(ji,jj)=-hny_frc2(ji,jj)*wndm(ji,jj)*4688.0121 qns(ji,jj)=qns(ji,jj)+hny_frc1(ji,jj)+hny_frc2(ji,jj)122 qrp(ji,jj) = 0.e0123 END DO124 END DO125 ELSE126 DO jj = 1, jpj127 DO ji = 1, jpi128 zqrp = rn_dqdt * ( sst_m(ji,jj) - sf_sst(1)%fnow(ji,jj,1) )129 qns(ji,jj) = qns(ji,jj) + zqrp130 qrp(ji,jj) = zqrp131 END DO132 END DO133 ENDIF106 IF( ln_UKMO_haney ) THEN 107 DO jj = 1, jpj 108 DO ji = 1, jpi 109 sst1 = sst_m(ji,jj) 110 sst2 = sf_sst(1)%fnow(ji,jj,1) 111 e_sst1 = 10**((0.7859+0.03477*sst1)/(1.+0.00412*sst1)) 112 e_sst2 = 10**((0.7859+0.03477*sst2)/(1.+0.00412*sst2)) 113 pr_tmp = 0.01*pressnow(ji,jj) !pr_tmp = 1012.0 114 qs1 = (0.62197*e_sst1)/(pr_tmp-0.378*e_sst1) 115 qs2 = (0.62197*e_sst2)/(pr_tmp-0.378*e_sst2) 116 hny_frc1(ji,jj) = sst1-sst2 117 hny_frc2(ji,jj) = qs1-qs2 118 !Might need to mask off land points. 119 hny_frc1(ji,jj)=-hny_frc1(ji,jj)*wndm(ji,jj)*1.42 120 hny_frc2(ji,jj)=-hny_frc2(ji,jj)*wndm(ji,jj)*4688.0 121 qns(ji,jj)=qns(ji,jj)+hny_frc1(ji,jj)+hny_frc2(ji,jj) 122 qrp(ji,jj) = 0.e0 123 END DO 124 END DO 125 ELSE 126 DO jj = 1, jpj 127 DO ji = 1, jpi 128 zqrp = rn_dqdt * ( sst_m(ji,jj) - sf_sst(1)%fnow(ji,jj,1) ) 129 qns(ji,jj) = qns(ji,jj) + zqrp 130 qrp(ji,jj) = zqrp 131 END DO 132 END DO 133 ENDIF 134 134 CALL iom_put( "qrp", qrp ) ! heat flux damping 135 135 ENDIF … … 193 193 CHARACTER(len=100) :: cn_dir ! Root directory for location of ssr files 194 194 TYPE(FLD_N) :: sn_sst, sn_sss ! informations about the fields to be read 195 NAMELIST/namsbc_ssr/ cn_dir, nn_sstr, nn_sssr, rn_dqdt, rn_deds, sn_sst, sn_sss, ln_sssr_bnd, rn_sssr_bnd, ln_UKMO_haney 195 NAMELIST/namsbc_ssr/ cn_dir, nn_sstr, nn_sssr, rn_dqdt, rn_deds, sn_sst, sn_sss, ln_sssr_bnd, rn_sssr_bnd, ln_UKMO_haney 196 196 INTEGER :: ios 197 197 !!---------------------------------------------------------------------- … … 219 219 WRITE(numout,*) ' flag to bound erp term ln_sssr_bnd = ', ln_sssr_bnd 220 220 WRITE(numout,*) ' ABS(Max./Min.) erp threshold rn_sssr_bnd = ', rn_sssr_bnd, ' mm/day' 221 WRITE(numout,*) ' Haney forcing ln_UKMO_haney = ', ln_UKMO_haney 221 WRITE(numout,*) ' Haney forcing ln_UKMO_haney = ', ln_UKMO_haney 222 222 ENDIF 223 223 ! -
branches/UKMO/r6232_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90
r7452 r7454 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 4 5 6 7 8 9 <head> 10 <title> 11 tradwl.F90 in branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA 12 – NEMO 13 </title> 14 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 15 <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 16 <!--[if IE]><script type="text/javascript"> 17 if (/^#__msie303:/.test(window.location.hash)) 18 window.location.replace(window.location.hash.replace(/^#__msie303:/, '#')); 19 </script><![endif]--> 20 <link rel="search" href="/nemo/search" /> 21 <link rel="help" href="/nemo/wiki/TracGuide" /> 22 <link rel="alternate" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90?rev=7120&format=txt" type="text/plain" title="Plain Text" /><link rel="alternate" href="/nemo/export/7120/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90" type="text/x-fortran; charset=utf-8" title="Original Format" /> 23 <link rel="up" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90" /> 24 <link rel="start" href="/nemo/wiki" /> 25 <link rel="stylesheet" href="/nemo/chrome/common/css/trac.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/contextchrome/css/contextchrome.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/common/css/code.css" type="text/css" /><link rel="stylesheet" href="/nemo/pygments/trac.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/common/css/browser.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/tracwysiwyg/wysiwyg.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/usernamedecorate/tipsy.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/usernamedecorate/base.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/tracmenus/css/tracmenus.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/listofwikipages/style.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/bookmark/css/tracbookmark.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/tracbib/base.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/datasaver/datasaver.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/breadcrumbs/css/breadcrumbs.css" type="text/css" /><link rel="stylesheet" href="/nemo/chrome/userpictures/userpictures.css" type="text/css" /> 26 <link rel="tracwysiwyg.stylesheet" href="/nemo/chrome/common/css/trac.css" /><link rel="tracwysiwyg.stylesheet" href="/nemo/chrome/tracwysiwyg/editor.css" /> 27 <link rel="tracwysiwyg.base" href="/nemo" /> 28 <link rel="shortcut icon" href="/nemo/chrome/site/favicon.ico" type="image/x-icon" /> 29 <link rel="icon" href="/nemo/chrome/site/favicon.ico" type="image/x-icon" /> 30 <link type="application/opensearchdescription+xml" rel="search" href="/nemo/search/opensearch" title="Search NEMO" /> 31 <script type="text/javascript"> 32 var config__ticket__decolate_fields=["type"]; 33 var _tracwysiwyg={}; 34 </script> 35 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/common/js/jquery.js"></script> 36 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/common/js/babel.js"></script> 37 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/common/js/trac.js"></script> 38 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/common/js/search.js"></script> 39 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/contextchrome/js/xdr.js"></script> 40 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/contextchrome/js/intertracticketlinkdecorator.js"></script> 41 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/tracwysiwyg/wysiwyg.js"></script> 42 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/usernamedecorate/jquery.tipsy.js"></script> 43 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/usernamedecorate/base.js"></script> 44 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/tracsectionedit/js/tracsectionedit.js"></script> 45 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/tracmenus/js/superfish.js"></script> 46 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/tracmenus/js/tracmenus.js"></script> 47 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/tracmenus/js/jquery.hoverIntent.minified.js"></script> 48 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/bookmark/js/tracbookmark.js"></script> 49 <script type="text/javascript" charset="utf-8" src="/nemo/chrome/datasaver/datasaver.js"></script> 50 <script type="text/javascript" src="/nemo/chrome/common/js/folding.js"></script> 51 <script type="text/javascript"> 52 jQuery(document).ready(function($) { 53 $(".trac-toggledeleted").show().click(function() { 54 $(this).siblings().find(".trac-deleted").toggle(); 55 return false; 56 }).click(); 57 $("#jumploc input").hide(); 58 $("#jumploc select").change(function () { 59 this.parentNode.parentNode.submit(); 60 }); 61 $('#preview table.code').enableCollapsibleColumns($('#preview table.code thead th.content')); 62 }); 63 </script> 64 <link rel="stylesheet" type="text/css" href="/nemo/chrome/site/style.css" /> 65 </head> 66 <body> 67 <div id="siteheader"> 68 <!--<img src="${href.chrome('site/NEMO_logo.png)}" height="60" width="189" alt="NEMO Ocean Modeling Framework" />--> 69 </div> 70 <div id="banner"> 71 <div id="header"> 72 <a id="logo" href="http://forge.ipsl.jussieu.fr/nemo/wiki/Home"><img src="/nemo/chrome/site/banner_huge_728x90.png" alt="NEMO Ocean Modeling Framework" /></a> 73 </div> 74 <form id="search" action="/nemo/search" method="get"> 75 <div> 76 <label for="proj-search">Search:</label> 77 <input type="text" id="proj-search" name="q" size="18" value="" /> 78 <input type="submit" value="Search" /> 79 </div> 80 </form> 81 <div id="metanav" class="nav"> 82 <ul> 83 <li class="first">logged in as jcastill</li><li><a href="/nemo/logout">Logout</a></li><li><a href="/nemo/prefs">Preferences</a></li><li><a href="/nemo/notification" title="Wiki Pages Change Notifications">My Notifications</a></li><li class="last"><a href="/nemo/wiki/EditorGuide">Help/Guide</a></li> 84 </ul><ul class="nav" id="breadcrumbs"><li>Last browsed pages:</li><li class="first"><a href="/nemo/wiki/Developers/WorkingPractices" title="Developers/Working Practices">Developers/Working Practices</a></li><li><a href="/nemo/wiki/2016WP/WAVE-3_JuanCastillo" title="2016WP/WAVE-3_Juan Castillo">2016WP/WAVE-3_Juan Castillo</a></li><li><a href="/nemo/wiki/Agenda/ST/2016-11-30" title="Agenda/ST/2016-11-30">Agenda/ST/2016-11-30</a></li><li><a href="/nemo/ticket/1598" title="Bug: bug fix in fld_clopn for week case (closed: fixed)">#1598</a></li><li><a href="/nemo/ticket/1592" title="Bug: bug if nn_isf > 0 and key_vvl (ISF related) (closed: fixed)">#1592</a></li><li class="last"><a href="/nemo/ticket/1574" title="Bug: Unitialised values in namobs namelist (closed: fixed)">#1574</a></li></ul> 85 </div> 86 </div> 87 <div id="mainnav" class="nav"> 88 <ul> 89 <li class="first"><a href="/nemo/wiki">Wiki</a><ul><li><a href="/nemo/wiki/WorkingGroups">Working Groups</a></li><li><a href="#">Work Plan</a><ul><li><a href="/nemo/wiki/2017WP">2017</a></li><li><a href="#">2016</a><ul><li><a href="/nemo/wiki/2016WP">Summary</a></li><li><a href="/nemo/wiki/2016WP/2016SharedActions">Shared Actions</a></li></ul></li><li><a href="/nemo/wiki/2999WP">Previous</a></li></ul></li></ul></li><li><a href="#">Code</a><ul><li><a href="#">Browse</a><ul><li><a href="/nemo/browser">Repository root</a></li><li><a href="/nemo/browser/branches/2016">Branches/2016</a></li><li><a href="/nemo/browser/branches/2015/nemo_v3_6_STABLE/NEMOGCM">3.6 Release</a></li><li><a href="/nemo/browser/trunk/NEMOGCM">Trunk</a></li></ul></li><li><a href="https://pagesperso.locean-ipsl.upmc.fr/ntmlod/trusting">Trusting Results</a></li></ul></li><li><a href="/nemo/report">Tickets</a><ul><li><a href="/nemo/report/1">Active Tickets</a></li><li><a href="/nemo/newticket">Create New Ticket</a></li><li><a href="/nemo/query">Custom Query</a></li></ul></li><li><a href="/nemo/timeline?changeset=on&discussion=on&tags=on&ticket=on&ticket_details=on&wiki=on">Timeline</a><ul><li><a href="/nemo/timeline?ticket=on&ticket_details=on">Tickets Events</a></li><li><a href="/nemo/timeline?changeset=on">Last Commits</a></li><li><a href="/nemo/timeline?wiki=on">Wiki Updates</a></li></ul></li><li><a href="/nemo/tags">Tags</a></li><li><a href="/nemo/me">My Page</a></li><li><a href="#">Web Doc.</a><ul><li><a href="/nemo/doxygen">Reference Manuals</a></li><li><a href="/nemo/wiki/Bibliography">Bibliography</a></li></ul></li><li><a href="#">Users</a><ul><li><a href="/nemo/discussion">Forum</a></li><li><a href="/nemo/wiki/Users/2016NEMO_UsersMeeting">2016 Users Meeting</a></li><li><a href="#">IS-ENES</a><ul><li><a href="/nemo/wiki/core2_cmip">Core II CMIP</a></li><li><a href="/nemo/wiki/NEMOConfigurationDataBase">Config DB</a></li></ul></li></ul></li><li><a href="#">Dev. Plan</a><ul><li><a href="/nemo/roadmap">Roadmap</a></li><li><a href="/nemo/versions">Versions</a></li><li><a href="/nemo/peerreviewmain">Peer Review</a></li></ul></li><li><a href="/nemo/wiki/SysTeam">System Team</a><ul><li><a href="#">Working</a><ul><li><a href="/nemo/wiki/Developers/WorkingPractices">Practices</a></li><li><a href="/nemo/wiki/Developers/WorkingFAQ">FAQ</a></li></ul></li><li><a href="/nemo/wiki/Agenda/ST">Agenda</a></li><li><a href="/nemo/wiki/EditorGuide">Wiki Editing</a><ul><li><a href="/nemo/admin/general/wikireplace">Search & Replace</a></li><li><a href="/nemo/wiki/WikiNewPage">Create Page</a></li></ul></li></ul></li><li class="last"><a href="http://www.nemo-ocean.eu">www.nemo-ocean.eu</a></li> 90 </ul> 91 </div> 92 <div id="main"> 93 <div id="ctxtnav" class="nav"> 94 <h2>Context Navigation</h2> 95 <ul> 96 <li class="first"><a class="bookmark_off" data-list="/nemo/bookmark" href="/nemo/bookmark/add/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90%3Frev%3D7120" id="bookmark_this" title="Bookmark this page"></a></li><li><span class="missing">← Previous Revision</span></li><li><a href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90">Latest Revision</a></li><li><span class="missing">Next Revision →</span></li><li><a href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90?annotate=blame&rev=7120" title="Annotate each line with the last changed revision (this can be time consuming...)">Blame</a></li><li><a href="/nemo/log/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90?rev=7120">Revision Log</a></li><li><span id="bookmark_menu"><a href="/nemo/bookmark">Bookmarks</a><ul></ul></span></li><li><a href="/nemo/revtree">Revtree</a></li><li class="last"><a href="javascript:datasaver_restore()" id="datasaver_restorer">Restore Form</a></li> 97 </ul> 98 <hr /> 99 </div> 100 <div id="content" class="browser"> 101 <h1> 102 103 <a class="pathentry first" href="/nemo/browser?rev=7120&order=name" title="Go to repository root">source:</a> 104 <a class="pathentry" href="/nemo/browser/branches?rev=7120&order=name" title="View branches">branches</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO?rev=7120&order=name" title="View UKMO">UKMO</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl?rev=7120&order=name" title="View r5936_CO6_CO5_zenv_pomsdwl">r5936_CO6_CO5_zenv_pomsdwl</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM?rev=7120&order=name" title="View NEMOGCM">NEMOGCM</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO?rev=7120&order=name" title="View NEMO">NEMO</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC?rev=7120&order=name" title="View OPA_SRC">OPA_SRC</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA?rev=7120&order=name" title="View TRA">TRA</a><span class="pathentry sep">/</span><a class="pathentry" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90?rev=7120&order=name" title="View tradwl.F90">tradwl.F90</a> 105 <span class="pathentry sep">@</span> 106 <a class="pathentry" href="/nemo/changeset/7120/" title="View changeset 7120">7120</a> 107 <br style="clear: both" /> 108 109 </h1> 110 <div id="diffrev"> 111 <form action="/nemo/changeset" method="get"> 112 <div> 113 <label title="Show the diff against a specific revision"> 114 View diff against: <input type="text" name="old" size="6" /> 115 <input type="hidden" name="old_path" value="branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90" /> 116 <input type="hidden" name="new" value="7120" /> 117 <input type="hidden" name="new_path" value="branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90" /> 118 </label> 119 </div> 120 </form> 121 </div> 122 <div id="jumprev"> 123 <form action="" method="get"> 124 <div> 125 <label for="rev" title="Hint: clear the field to view latest revision"> 126 View revision:</label> 127 <input type="text" id="rev" name="rev" value="7120" size="6" /> 128 </div> 129 </form> 130 </div> 131 <div id="jumploc"> 132 <form action="" method="get"> 133 <div class="buttons"> 134 <label for="preselected">Visit:</label> 135 <select id="preselected" name="preselected"> 136 <option selected="selected"></option> 137 <optgroup label="branches"> 138 <option value="/nemo/browser/trunk">trunk</option><option value="/nemo/browser/branches/2015/dev_5894_INGV_WAVE">branches/2015/dev_5894_INGV_WAVE</option><option value="/nemo/browser/branches/2015/dev_5974_MERCATOR10_LIMINI">branches/2015/dev_5974_MERCATOR10_LIMINI</option><option value="/nemo/browser/branches/2015/dev_agrif_v3_6_STABLE">branches/2015/dev_agrif_v3_6_STABLE</option><option value="/nemo/browser/branches/2015/dev_CMCC_merge_2015">branches/2015/dev_CMCC_merge_2015</option><option value="/nemo/browser/branches/2015/dev_merge_2015">branches/2015/dev_merge_2015</option><option value="/nemo/browser/branches/2015/dev_MetOffice_merge_2015">branches/2015/dev_MetOffice_merge_2015</option><option value="/nemo/browser/branches/2015/dev_NOC_merge_2015">branches/2015/dev_NOC_merge_2015</option><option value="/nemo/browser/branches/2015/dev_r4826_NOC_WAD">branches/2015/dev_r4826_NOC_WAD</option><option value="/nemo/browser/branches/2015/dev_r4999_CNRS9_NOC3_LDF">branches/2015/dev_r4999_CNRS9_NOC3_LDF</option><option value="/nemo/browser/branches/2015/dev_r5003_MERCATOR6_CRS">branches/2015/dev_r5003_MERCATOR6_CRS</option><option value="/nemo/browser/branches/2015/dev_r5020_CNRS_DIAPTR">branches/2015/dev_r5020_CNRS_DIAPTR</option><option value="/nemo/browser/branches/2015/dev_r5021_UKMO1_CICE_coupling">branches/2015/dev_r5021_UKMO1_CICE_coupling</option><option value="/nemo/browser/branches/2015/dev_r5040_CMCC5_BDY_for_TOP">branches/2015/dev_r5040_CMCC5_BDY_for_TOP</option><option value="/nemo/browser/branches/2015/dev_r5044_CNRS_LIM3CLEAN">branches/2015/dev_r5044_CNRS_LIM3CLEAN</option><option value="/nemo/browser/branches/2015/dev_r5056_CMCC4_simplification">branches/2015/dev_r5056_CMCC4_simplification</option><option value="/nemo/browser/branches/2015/dev_r5072_UKMO2_OBS_simplification">branches/2015/dev_r5072_UKMO2_OBS_simplification</option><option value="/nemo/browser/branches/2015/dev_r5087_NOC2_JATTR">branches/2015/dev_r5087_NOC2_JATTR</option><option value="/nemo/browser/branches/2015/dev_r5092_CNRS18_TRUST">branches/2015/dev_r5092_CNRS18_TRUST</option><option value="/nemo/browser/branches/2015/dev_r5094_UKMO_ISFCLEAN">branches/2015/dev_r5094_UKMO_ISFCLEAN</option><option value="/nemo/browser/branches/2015/dev_r5102_CNRS11_TestCase">branches/2015/dev_r5102_CNRS11_TestCase</option><option value="/nemo/browser/branches/2015/dev_r5138_CNRS_PISCES_dcy">branches/2015/dev_r5138_CNRS_PISCES_dcy</option><option value="/nemo/browser/branches/2015/dev_r5144_CMCC5_BDY_for_TOP">branches/2015/dev_r5144_CMCC5_BDY_for_TOP</option><option value="/nemo/browser/branches/2015/dev_r5151_UKMO_ISF">branches/2015/dev_r5151_UKMO_ISF</option><option value="/nemo/browser/branches/2015/dev_r5171_CNRS_LIM3_CMIP6out">branches/2015/dev_r5171_CNRS_LIM3_CMIP6out</option><option value="/nemo/browser/branches/2015/dev_r5171_CNRS_LIM3_ice_atm">branches/2015/dev_r5171_CNRS_LIM3_ice_atm</option><option value="/nemo/browser/branches/2015/dev_r5171_CNRS_LIM3_meltponds">branches/2015/dev_r5171_CNRS_LIM3_meltponds</option><option value="/nemo/browser/branches/2015/dev_r5171_CNRS_LIM3_seaicebgc">branches/2015/dev_r5171_CNRS_LIM3_seaicebgc</option><option value="/nemo/browser/branches/2015/dev_r5177_CNRS4_stopar">branches/2015/dev_r5177_CNRS4_stopar</option><option value="/nemo/browser/branches/2015/dev_r5187_UKMO13_simplification">branches/2015/dev_r5187_UKMO13_simplification</option><option value="/nemo/browser/branches/2015/dev_r5204_CNRS_PISCES_dcy">branches/2015/dev_r5204_CNRS_PISCES_dcy</option><option value="/nemo/browser/branches/2015/dev_r5218_CNRS17_coupling">branches/2015/dev_r5218_CNRS17_coupling</option><option value="/nemo/browser/branches/2015/dev_r5224_CNRS_OPA_Hollingsworth">branches/2015/dev_r5224_CNRS_OPA_Hollingsworth</option><option value="/nemo/browser/branches/2015/dev_r5302_CNRS18_HPC_scalability">branches/2015/dev_r5302_CNRS18_HPC_scalability</option><option value="/nemo/browser/branches/2015/dev_r5546_CNRS19_HPC_scalability">branches/2015/dev_r5546_CNRS19_HPC_scalability</option><option value="/nemo/browser/branches/2015/dev_r5656_Met_Office_3_diurnalSST">branches/2015/dev_r5656_Met_Office_3_diurnalSST</option><option value="/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF">branches/2015/dev_r5721_CNRS9_NOC3_LDF</option><option value="/nemo/browser/branches/2015/dev_r5776_UKMO2_OBS_efficiency_improvs">branches/2015/dev_r5776_UKMO2_OBS_efficiency_improvs</option><option value="/nemo/browser/branches/2015/dev_r5786_CNRS9_NOC3_ZDF">branches/2015/dev_r5786_CNRS9_NOC3_ZDF</option><option value="/nemo/browser/branches/2015/dev_r5803_NOC_WAD">branches/2015/dev_r5803_NOC_WAD</option><option value="/nemo/browser/branches/2015/dev_r5803_UKMO_AGRIF_Vert_interp">branches/2015/dev_r5803_UKMO_AGRIF_Vert_interp</option><option value="/nemo/browser/branches/2015/dev_r5836_NOC3_vvl_by_default">branches/2015/dev_r5836_NOC3_vvl_by_default</option><option value="/nemo/browser/branches/2015/dev_r5847_MERCATOR9_solveur_simplification">branches/2015/dev_r5847_MERCATOR9_solveur_simplification</option><option value="/nemo/browser/branches/2015/dev_r5918_nemo_v3_6_STABLE_XIOS2">branches/2015/dev_r5918_nemo_v3_6_STABLE_XIOS2</option><option value="/nemo/browser/branches/2015/dev_r5936_INGV1_WAVE">branches/2015/dev_r5936_INGV1_WAVE</option><option value="/nemo/browser/branches/2015/dev_r6287_ZDFTMX_new">branches/2015/dev_r6287_ZDFTMX_new</option><option value="/nemo/browser/branches/2015/dev_r6946_Offline_vvl">branches/2015/dev_r6946_Offline_vvl</option><option value="/nemo/browser/branches/2015/nemo_v3_6_STABLE">branches/2015/nemo_v3_6_STABLE</option><option value="/nemo/browser/branches/2016/dev_CMCC_2016">branches/2016/dev_CMCC_2016</option><option value="/nemo/browser/branches/2016/dev_CNRS_2016">branches/2016/dev_CNRS_2016</option><option value="/nemo/browser/branches/2016/dev_CNRS_AGRIF_2016">branches/2016/dev_CNRS_AGRIF_2016</option><option value="/nemo/browser/branches/2016/dev_CNRS_MERCATOR_2016">branches/2016/dev_CNRS_MERCATOR_2016</option><option value="/nemo/browser/branches/2016/dev_HPC_Gyre_benchmark_test">branches/2016/dev_HPC_Gyre_benchmark_test</option><option value="/nemo/browser/branches/2016/dev_INGV_METO_merge_2016">branches/2016/dev_INGV_METO_merge_2016</option><option value="/nemo/browser/branches/2016/dev_INGV_UKMO_2016">branches/2016/dev_INGV_UKMO_2016</option><option value="/nemo/browser/branches/2016/dev_MERCATOR_2016">branches/2016/dev_MERCATOR_2016</option><option value="/nemo/browser/branches/2016/dev_merge_2016">branches/2016/dev_merge_2016</option><option value="/nemo/browser/branches/2016/dev_NOC_2016">branches/2016/dev_NOC_2016</option><option value="/nemo/browser/branches/2016/dev_NOC_CMCC_merge_2016">branches/2016/dev_NOC_CMCC_merge_2016</option><option value="/nemo/browser/branches/2016/dev_r6325_SIMPLIF_1">branches/2016/dev_r6325_SIMPLIF_1</option><option value="/nemo/browser/branches/2016/dev_r6381_SIMPLIF_5">branches/2016/dev_r6381_SIMPLIF_5</option><option value="/nemo/browser/branches/2016/dev_r6393_NOC_WAD">branches/2016/dev_r6393_NOC_WAD</option><option value="/nemo/browser/branches/2016/dev_r6409_SIMPLIF_2_usrdef">branches/2016/dev_r6409_SIMPLIF_2_usrdef</option><option value="/nemo/browser/branches/2016/dev_r6519_HPC_4">branches/2016/dev_r6519_HPC_4</option><option value="/nemo/browser/branches/2016/dev_r6522_SIMPLIF_3">branches/2016/dev_r6522_SIMPLIF_3</option><option value="/nemo/browser/branches/2016/dev_r6522_SIMPLIF_4">branches/2016/dev_r6522_SIMPLIF_4</option><option value="/nemo/browser/branches/2016/dev_r6711_SIMPLIF_6_aerobulk">branches/2016/dev_r6711_SIMPLIF_6_aerobulk</option><option value="/nemo/browser/branches/2016/dev_r6738_METO_5">branches/2016/dev_r6738_METO_5</option><option value="/nemo/browser/branches/2016/dev_r6771_AGRIF_3_AGRIFVVL">branches/2016/dev_r6771_AGRIF_3_AGRIFVVL</option><option value="/nemo/browser/branches/2016/dev_r6859_LIM3_meltponds">branches/2016/dev_r6859_LIM3_meltponds</option><option value="/nemo/browser/branches/2016/dev_r6999_CONFIGMAN_1">branches/2016/dev_r6999_CONFIGMAN_1</option><option value="/nemo/browser/branches/2016/dev_r7012_ROBUST5_CMCC">branches/2016/dev_r7012_ROBUST5_CMCC</option><option value="/nemo/browser/branches/2016/dev_r7012_ROBUST5_CNRS">branches/2016/dev_r7012_ROBUST5_CNRS</option><option value="/nemo/browser/branches/2016/dev_r7161_trunk_XIOS2">branches/2016/dev_r7161_trunk_XIOS2</option><option value="/nemo/browser/branches/2016/dev_r7233_CMIP6_diags_trunk_version">branches/2016/dev_r7233_CMIP6_diags_trunk_version</option><option value="/nemo/browser/branches/2016/dev_v3_6_STABLE_OMP">branches/2016/dev_v3_6_STABLE_OMP</option><option value="/nemo/browser/branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3">branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3</option> 139 </optgroup> 140 </select> 141 <input type="submit" value="Go!" title="Jump to the chosen preselected path" /> 142 </div> 143 </form> 144 </div> 145 <div class="trac-tags"> 146 </div> 147 <table id="info" summary="Revision info"> 148 <tr> 149 <th><img height="40" width="40" src="/nemo/raw-attachment/wiki/UserManagerPluginPictures/jcastill_Work_in_progress.png" class="userpictures_avatar browser-filesource" /> 150 <a href="/nemo/changeset/7120/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90" title="View differences">Last change</a> 151 on this file since 7120 was 152 <a href="/nemo/changeset/7120/" title="View changeset 7120">7120</a>, 153 checked in by <span class="usernamedecorate" title="jcastill - Juan Castillo <juan.m.castillo@metoffice.gov.uk>">Juan Castillo</span>, <a class="timeline" href="/nemo/timeline?from=2016-10-26T18%3A28%3A31%2B02%3A00&precision=second" title="See timeline at 10/26/16 18:28:31">6 weeks ago</a> 154 </th> 155 </tr> 156 <tr> 157 <td class="message searchable"> 158 <p> 159 Changes as in branch UKMO/2015_V36_STABLE_CO6_CO5_zenv_pomsdwl@5793<br /> 160 </p> 161 </td> 162 </tr> 163 <tr><td colspan="2"> 164 <strong>File size:</strong> 165 <span title="10393 bytes">10.1 KB</span> 166 </td></tr> 167 </table> 168 <div id="preview" class="searchable"> 169 170 <table class="code"><thead><tr><th class="lineno" title="Line numbers">Line</th><th class="content"> </th></tr></thead><tbody><tr><th id="L1"><a href="javascript:setLineNum(1)">1</a></th><td><span class="k">MODULE </span><span class="nv">tradwl</span></td></tr><tr><th id="L2"><a href="javascript:setLineNum(2)">2</a></th><td> <span class="c">!!======================================================================</span></td></tr><tr><th id="L3"><a href="javascript:setLineNum(3)">3</a></th><td><span class="c"></span> <span class="c">!! *** MODULE tradwl ***</span></td></tr><tr><th id="L4"><a href="javascript:setLineNum(4)">4</a></th><td><span class="c"></span> <span class="c">!! Ocean physics: solar radiation penetration in the top ocean levels</span></td></tr><tr><th id="L5"><a href="javascript:setLineNum(5)">5</a></th><td><span class="c"></span> <span class="c">!!======================================================================</span></td></tr><tr><th id="L6"><a href="javascript:setLineNum(6)">6</a></th><td><span class="c"></span> <span class="c">!! History : POLCOMS ! 1996-10 (J. Holt) Original code</span></td></tr><tr><th id="L7"><a href="javascript:setLineNum(7)">7</a></th><td><span class="c"></span> <span class="c">!! NEMO 3.2 ! 2010-03 (E. O'Dea) Import to Nemo for use in Shelf Model</span></td></tr><tr><th id="L8"><a href="javascript:setLineNum(8)">8</a></th><td><span class="c"></span> <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L9"><a href="javascript:setLineNum(9)">9</a></th><td><span class="c"></span></td></tr><tr><th id="L10"><a href="javascript:setLineNum(10)">10</a></th><td> <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L11"><a href="javascript:setLineNum(11)">11</a></th><td><span class="c"></span> <span class="c">!! tra_dwl : trend due to the solar radiation penetration</span></td></tr><tr><th id="L12"><a href="javascript:setLineNum(12)">12</a></th><td><span class="c"></span> <span class="c">!! tra_dwl_init : solar radiation penetration initialization</span></td></tr><tr><th id="L13"><a href="javascript:setLineNum(13)">13</a></th><td><span class="c"></span> <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L14"><a href="javascript:setLineNum(14)">14</a></th><td><span class="c"></span> <span class="k">USE </span><span class="nv">oce</span> <span class="c">! ocean dynamics and active tracers</span></td></tr><tr><th id="L15"><a href="javascript:setLineNum(15)">15</a></th><td><span class="c"></span> <span class="k">USE </span><span class="nv">dom_oce</span> <span class="c">! ocean space and time domain</span></td></tr><tr><th id="L16"><a href="javascript:setLineNum(16)">16</a></th><td><span class="c"></span> <span class="k">USE </span><span class="nv">sbc_oce</span> <span class="c">! surface boundary condition: ocean</span></td></tr><tr><th id="L17"><a href="javascript:setLineNum(17)">17</a></th><td><span class="c"></span> <span class="k">USE </span><span class="nv">trc_oce</span> <span class="c">! share SMS/Ocean variables</span></td></tr><tr><th id="L18"><a href="javascript:setLineNum(18)">18</a></th><td><span class="c"></span> <span class="k">USE </span><span class="nv">trd_oce</span> <span class="c">! trends: ocean variables</span></td></tr><tr><th id="L19"><a href="javascript:setLineNum(19)">19</a></th><td><span class="c"></span> <span class="k">USE </span><span class="nv">trdtra</span> <span class="c">! ocean active tracers trends </span></td></tr><tr><th id="L20"><a href="javascript:setLineNum(20)">20</a></th><td><span class="c"></span> <span class="k">USE </span><span class="nv">in_out_manager</span> <span class="c">! I/O manager</span></td></tr><tr><th id="L21"><a href="javascript:setLineNum(21)">21</a></th><td><span class="c"></span> <span class="k">USE </span><span class="nv">phycst</span> <span class="c">! physical constants</span></td></tr><tr><th id="L22"><a href="javascript:setLineNum(22)">22</a></th><td><span class="c"></span> <span class="k">USE </span><span class="nv">prtctl</span> <span class="c">! Print control</span></td></tr><tr><th id="L23"><a href="javascript:setLineNum(23)">23</a></th><td><span class="c"></span> <span class="k">USE </span><span class="nv">iom</span> <span class="c">! I/O manager</span></td></tr><tr><th id="L24"><a href="javascript:setLineNum(24)">24</a></th><td><span class="c"></span> <span class="k">USE </span><span class="nv">fldread</span> <span class="c">! read input fields</span></td></tr><tr><th id="L25"><a href="javascript:setLineNum(25)">25</a></th><td><span class="c"></span></td></tr><tr><th id="L26"><a href="javascript:setLineNum(26)">26</a></th><td> <span class="k">IMPLICIT NONE</span></td></tr><tr><th id="L27"><a href="javascript:setLineNum(27)">27</a></th><td><span class="k"> PRIVATE</span></td></tr><tr><th id="L28"><a href="javascript:setLineNum(28)">28</a></th><td><span class="k"></span></td></tr><tr><th id="L29"><a href="javascript:setLineNum(29)">29</a></th><td><span class="k"> PUBLIC </span><span class="nv">tra_dwl</span> <span class="c">! routine called by step.F90 (ln_tradwl=T)</span></td></tr><tr><th id="L30"><a href="javascript:setLineNum(30)">30</a></th><td><span class="c"></span></td></tr><tr><th id="L31"><a href="javascript:setLineNum(31)">31</a></th><td> <span class="c">! !!* Namelist namtra_qsr: penetrative solar radiation</span></td></tr><tr><th id="L32"><a href="javascript:setLineNum(32)">32</a></th><td><span class="c"></span> <span class="kt">LOGICAL</span> <span class="p">,</span> <span class="k">PUBLIC</span> <span class="kd">::</span> <span class="nv">ln_tradwl</span> <span class="o">=</span> <span class="nb">.TRUE.</span> <span class="c">! light absorption (dwl) flag</span></td></tr><tr><th id="L33"><a href="javascript:setLineNum(33)">33</a></th><td><span class="c"></span> <span class="kt">LOGICAL</span> <span class="p">,</span> <span class="k">PUBLIC</span> <span class="kd">::</span> <span class="nv">ln_vary_lambda</span> <span class="o">=</span> <span class="nb">.TRUE.</span> <span class="c">! vary Lambda or not flag</span></td></tr><tr><th id="L34"><a href="javascript:setLineNum(34)">34</a></th><td><span class="c"></span> </td></tr><tr><th id="L35"><a href="javascript:setLineNum(35)">35</a></th><td> <span class="c">!! * Substitutions</span></td></tr><tr><th id="L36"><a href="javascript:setLineNum(36)">36</a></th><td><span class="c"></span><span class="err">#</span> <span class="k">include</span> <span class="s2">"domzgr_substitute.h90"</span></td></tr><tr><th id="L37"><a href="javascript:setLineNum(37)">37</a></th><td><span class="err">#</span> <span class="k">include</span> <span class="s2">"vectopt_loop_substitute.h90"</span></td></tr><tr><th id="L38"><a href="javascript:setLineNum(38)">38</a></th><td> <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L39"><a href="javascript:setLineNum(39)">39</a></th><td><span class="c"></span> <span class="c">!! NEMO/OPA 3.2 , LOCEAN-IPSL (2009) </span></td></tr><tr><th id="L40"><a href="javascript:setLineNum(40)">40</a></th><td><span class="c"></span> <span class="c">!! $Id$</span></td></tr><tr><th id="L41"><a href="javascript:setLineNum(41)">41</a></th><td><span class="c"></span> <span class="c">!! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)</span></td></tr><tr><th id="L42"><a href="javascript:setLineNum(42)">42</a></th><td><span class="c"></span> <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L43"><a href="javascript:setLineNum(43)">43</a></th><td><span class="c"></span></td></tr><tr><th id="L44"><a href="javascript:setLineNum(44)">44</a></th><td><span class="k">CONTAINS</span></td></tr><tr><th id="L45"><a href="javascript:setLineNum(45)">45</a></th><td><span class="k"></span></td></tr><tr><th id="L46"><a href="javascript:setLineNum(46)">46</a></th><td><span class="k"> SUBROUTINE </span><span class="nv">tra_dwl</span><span class="p">(</span> <span class="nv">kt</span> <span class="p">)</span></td></tr><tr><th id="L47"><a href="javascript:setLineNum(47)">47</a></th><td> <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L48"><a href="javascript:setLineNum(48)">48</a></th><td><span class="c"></span> <span class="c">!! *** ROUTINE tra_qsr ***</span></td></tr><tr><th id="L49"><a href="javascript:setLineNum(49)">49</a></th><td><span class="c"></span> <span class="c">!!</span></td></tr><tr><th id="L50"><a href="javascript:setLineNum(50)">50</a></th><td><span class="c"></span> <span class="c">!! ** Purpose : Compute the temperature trend due to the solar radiation</span></td></tr><tr><th id="L51"><a href="javascript:setLineNum(51)">51</a></th><td><span class="c"></span> <span class="c">!! penetration and add it to the general temperature trend.</span></td></tr><tr><th id="L52"><a href="javascript:setLineNum(52)">52</a></th><td><span class="c"></span> <span class="c">!!</span></td></tr><tr><th id="L53"><a href="javascript:setLineNum(53)">53</a></th><td><span class="c"></span> <span class="c">!! ** Method : The profile of the solar radiation within the ocean is defined</span></td></tr><tr><th id="L54"><a href="javascript:setLineNum(54)">54</a></th><td><span class="c"></span> <span class="c">!!</span></td></tr><tr><th id="L55"><a href="javascript:setLineNum(55)">55</a></th><td><span class="c"></span> <span class="c">!! Jason Holt Oct 96</span></td></tr><tr><th id="L56"><a href="javascript:setLineNum(56)">56</a></th><td><span class="c"></span> <span class="c">!!</span></td></tr><tr><th id="L57"><a href="javascript:setLineNum(57)">57</a></th><td><span class="c"></span> <span class="c">!! Calculates change in temperature due to penetrating</span></td></tr><tr><th id="L58"><a href="javascript:setLineNum(58)">58</a></th><td><span class="c"></span> <span class="c">!! radiation, with cooling at the surface layer</span></td></tr><tr><th id="L59"><a href="javascript:setLineNum(59)">59</a></th><td><span class="c"></span> <span class="c">!!</span></td></tr><tr><th id="L60"><a href="javascript:setLineNum(60)">60</a></th><td><span class="c"></span> <span class="c">!! rad=rad0*exp(lambda*z)</span></td></tr><tr><th id="L61"><a href="javascript:setLineNum(61)">61</a></th><td><span class="c"></span> <span class="c">!!</span></td></tr><tr><th id="L62"><a href="javascript:setLineNum(62)">62</a></th><td><span class="c"></span> <span class="c">!! Heat input into box is between z=K and z=K+1 is RAD(K)-RAD(K+1)</span></td></tr><tr><th id="L63"><a href="javascript:setLineNum(63)">63</a></th><td><span class="c"></span> <span class="c">!!</span></td></tr><tr><th id="L64"><a href="javascript:setLineNum(64)">64</a></th><td><span class="c"></span> <span class="c">!!</span></td></tr><tr><th id="L65"><a href="javascript:setLineNum(65)">65</a></th><td><span class="c"></span> <span class="c">!! ** Action : - update ta with the penetrative solar radiation trend</span></td></tr><tr><th id="L66"><a href="javascript:setLineNum(66)">66</a></th><td><span class="c"></span> <span class="c">!! - save the trend in ttrd ('key_trdtra')</span></td></tr><tr><th id="L67"><a href="javascript:setLineNum(67)">67</a></th><td><span class="c"></span> <span class="c">!!</span></td></tr><tr><th id="L68"><a href="javascript:setLineNum(68)">68</a></th><td><span class="c"></span> <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L69"><a href="javascript:setLineNum(69)">69</a></th><td><span class="c"></span> <span class="k">USE </span><span class="nv">oce</span><span class="p">,</span> <span class="nv">ONLY</span> <span class="p">:</span> <span class="nv">ztrdt</span> <span class="o">=></span> <span class="nv">ua</span> <span class="c">! use ua as 3D workspace </span></td></tr><tr><th id="L70"><a href="javascript:setLineNum(70)">70</a></th><td><span class="c"></span> <span class="k">USE </span><span class="nv">oce</span><span class="p">,</span> <span class="nv">ONLY</span> <span class="p">:</span> <span class="nv">ztrds</span> <span class="o">=></span> <span class="nv">va</span> <span class="c">! use va as 3D workspace </span></td></tr><tr><th id="L71"><a href="javascript:setLineNum(71)">71</a></th><td><span class="c"></span> <span class="c">!!</span></td></tr><tr><th id="L72"><a href="javascript:setLineNum(72)">72</a></th><td><span class="c"></span> <span class="kt">INTEGER</span><span class="p">,</span> <span class="k">INTENT</span><span class="p">(</span><span class="nv">in</span><span class="p">)</span> <span class="kd">::</span> <span class="nv">kt</span> <span class="c">! ocean time-step</span></td></tr><tr><th id="L73"><a href="javascript:setLineNum(73)">73</a></th><td><span class="c"></span> <span class="c">!!</span></td></tr><tr><th id="L74"><a href="javascript:setLineNum(74)">74</a></th><td><span class="c"></span> <span class="kt">INTEGER</span> <span class="kd">::</span> <span class="nv">ji</span><span class="p">,</span> <span class="nv">jj</span><span class="p">,</span> <span class="nv">jk</span> <span class="c">! dummy loop indices</span></td></tr><tr><th id="L75"><a href="javascript:setLineNum(75)">75</a></th><td><span class="c"></span> <span class="kt">INTEGER</span> <span class="kd">::</span> <span class="nv">irgb</span> <span class="c">! temporary integers</span></td></tr><tr><th id="L76"><a href="javascript:setLineNum(76)">76</a></th><td><span class="c"></span> <span class="kt">REAL</span><span class="p">(</span><span class="nv">wp</span><span class="p">)</span> <span class="kd">::</span> <span class="nv">zchl</span><span class="p">,</span> <span class="nv">zcoef</span><span class="p">,</span> <span class="nv">zsi0r</span> <span class="c">! temporary scalars</span></td></tr><tr><th id="L77"><a href="javascript:setLineNum(77)">77</a></th><td><span class="c"></span> <span class="kt">REAL</span><span class="p">(</span><span class="nv">wp</span><span class="p">)</span> <span class="kd">::</span> <span class="nv">zc0</span><span class="p">,</span> <span class="nv">zc1</span><span class="p">,</span> <span class="nv">zc2</span><span class="p">,</span> <span class="nv">zc3</span> <span class="c">! - -</span></td></tr><tr><th id="L78"><a href="javascript:setLineNum(78)">78</a></th><td><span class="c"></span> <span class="kt">REAL</span><span class="p">(</span><span class="nv">wp</span><span class="p">),</span> <span class="k">DIMENSION</span><span class="p">(</span><span class="nv">jpi</span><span class="p">,</span><span class="nv">jpj</span><span class="p">)</span> <span class="kd">::</span> <span class="nv">zekb</span><span class="p">,</span> <span class="nv">zekg</span><span class="p">,</span> <span class="nv">zekr</span> <span class="c">! 2D workspace</span></td></tr><tr><th id="L79"><a href="javascript:setLineNum(79)">79</a></th><td><span class="c"></span> <span class="kt">REAL</span><span class="p">(</span><span class="nv">wp</span><span class="p">),</span> <span class="k">DIMENSION</span><span class="p">(</span><span class="nv">jpi</span><span class="p">,</span><span class="nv">jpj</span><span class="p">,</span><span class="nv">jpk</span><span class="p">)</span> <span class="kd">::</span> <span class="nv">ze0</span><span class="p">,</span> <span class="nv">ze1</span> <span class="p">,</span> <span class="nv">ze2</span><span class="p">,</span> <span class="nv">ze3</span><span class="p">,</span> <span class="nv">zea</span> <span class="c">! 3D workspace</span></td></tr><tr><th id="L80"><a href="javascript:setLineNum(80)">80</a></th><td><span class="c"></span> <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L81"><a href="javascript:setLineNum(81)">81</a></th><td><span class="c"></span> <span class="c">!! HERE GO VARIABLES USED IN POLCOMS CLEAN UP LATER</span></td></tr><tr><th id="L82"><a href="javascript:setLineNum(82)">82</a></th><td><span class="c"></span></td></tr><tr><th id="L83"><a href="javascript:setLineNum(83)">83</a></th><td> <span class="kt">integer </span><span class="nv">i</span><span class="p">,</span><span class="nv">j</span><span class="p">,</span><span class="nv">k</span></td></tr><tr><th id="L84"><a href="javascript:setLineNum(84)">84</a></th><td><span class="c">! real*8 dtmp(n-1)</span></td></tr><tr><th id="L85"><a href="javascript:setLineNum(85)">85</a></th><td><span class="c"></span> <span class="kt">real</span><span class="o">*</span><span class="mi">8</span> <span class="nv">dtmp</span><span class="p">(</span><span class="nv">jpkm1</span><span class="p">)</span></td></tr><tr><th id="L86"><a href="javascript:setLineNum(86)">86</a></th><td> <span class="kt">real</span><span class="o">*</span><span class="mi">8</span> <span class="nv">z1</span><span class="p">,</span><span class="nv">z2</span><span class="p">,</span><span class="nv">Rad0</span><span class="p">,</span><span class="nv">Rad1</span><span class="p">,</span><span class="nv">Rad2</span><span class="p">,</span><span class="nv">rD</span><span class="p">,</span><span class="nv">SurfOut</span><span class="p">,</span><span class="nv">cp</span></td></tr><tr><th id="L87"><a href="javascript:setLineNum(87)">87</a></th><td> <span class="kt">logical </span><span class="nv">first</span></td></tr><tr><th id="L88"><a href="javascript:setLineNum(88)">88</a></th><td> <span class="k">save </span><span class="nv">first</span></td></tr><tr><th id="L89"><a href="javascript:setLineNum(89)">89</a></th><td> <span class="k">data </span><span class="nv">first</span><span class="o">/</span><span class="nb">.true.</span><span class="o">/</span></td></tr><tr><th id="L90"><a href="javascript:setLineNum(90)">90</a></th><td> <span class="c">!!--------------------------End of POLCOMS variables Note instead of using saves</span></td></tr><tr><th id="L91"><a href="javascript:setLineNum(91)">91</a></th><td><span class="c"></span> <span class="c">!!--------------------------Could shift this into initial code</span></td></tr><tr><th id="L92"><a href="javascript:setLineNum(92)">92</a></th><td><span class="c"></span></td></tr><tr><th id="L93"><a href="javascript:setLineNum(93)">93</a></th><td> <span class="k">IF</span><span class="p">(</span> <span class="nv">kt</span> <span class="o">==</span> <span class="nv">nit000</span> <span class="p">)</span> <span class="k">THEN</span></td></tr><tr><th id="L94"><a href="javascript:setLineNum(94)">94</a></th><td><span class="k"> IF</span><span class="p">(</span><span class="nv">lwp</span><span class="p">)</span> <span class="k">WRITE</span><span class="p">(</span><span class="nv">numout</span><span class="p">,</span><span class="o">*</span><span class="p">)</span></td></tr><tr><th id="L95"><a href="javascript:setLineNum(95)">95</a></th><td> <span class="k">IF</span><span class="p">(</span><span class="nv">lwp</span><span class="p">)</span> <span class="k">WRITE</span><span class="p">(</span><span class="nv">numout</span><span class="p">,</span><span class="o">*</span><span class="p">)</span> <span class="s1">'tra_dwl : penetration of the surface solar radiation'</span></td></tr><tr><th id="L96"><a href="javascript:setLineNum(96)">96</a></th><td> <span class="k">IF</span><span class="p">(</span><span class="nv">lwp</span><span class="p">)</span> <span class="k">WRITE</span><span class="p">(</span><span class="nv">numout</span><span class="p">,</span><span class="o">*</span><span class="p">)</span> <span class="s1">'~~~~~~~'</span></td></tr><tr><th id="L97"><a href="javascript:setLineNum(97)">97</a></th><td> <span class="k">CALL </span><span class="nv">tra_dwl_init</span></td></tr><tr><th id="L98"><a href="javascript:setLineNum(98)">98</a></th><td> <span class="k">IF</span><span class="p">(</span> <span class="ow">.NOT.</span><span class="nv">ln_tradwl</span> <span class="p">)</span> <span class="k">RETURN</span></td></tr><tr><th id="L99"><a href="javascript:setLineNum(99)">99</a></th><td><span class="k"> ENDIF</span></td></tr><tr><th id="L100"><a href="javascript:setLineNum(100)">100</a></th><td><span class="k"></span></td></tr><tr><th id="L101"><a href="javascript:setLineNum(101)">101</a></th><td><span class="k"> IF</span><span class="p">(</span> <span class="nv">l_trdtra</span> <span class="p">)</span> <span class="k">THEN</span> <span class="c">! Save ta and sa trends</span></td></tr><tr><th id="L102"><a href="javascript:setLineNum(102)">102</a></th><td><span class="c"></span> <span class="nv">ztrdt</span><span class="p">(:,:,:)</span> <span class="o">=</span> <span class="nv">tsa</span><span class="p">(:,:,:,</span><span class="nv">jp_tem</span><span class="p">)</span></td></tr><tr><th id="L103"><a href="javascript:setLineNum(103)">103</a></th><td> <span class="nv">ztrds</span><span class="p">(:,:,:)</span> <span class="o">=</span> <span class="mf">0.e0</span></td></tr><tr><th id="L104"><a href="javascript:setLineNum(104)">104</a></th><td> <span class="k">ENDIF</span></td></tr><tr><th id="L105"><a href="javascript:setLineNum(105)">105</a></th><td><span class="c">!--------------------------------------------------------------------</span></td></tr><tr><th id="L106"><a href="javascript:setLineNum(106)">106</a></th><td><span class="c">! Set transmissivity</span></td></tr><tr><th id="L107"><a href="javascript:setLineNum(107)">107</a></th><td><span class="c">!--------------------------------------------------------------------</span></td></tr><tr><th id="L108"><a href="javascript:setLineNum(108)">108</a></th><td><span class="c">!</span></td></tr><tr><th id="L109"><a href="javascript:setLineNum(109)">109</a></th><td><span class="c">! Normal value</span></td></tr><tr><th id="L110"><a href="javascript:setLineNum(110)">110</a></th><td><span class="c">!</span></td></tr><tr><th id="L111"><a href="javascript:setLineNum(111)">111</a></th><td><span class="c">!---------------------------------------------------------------------------</span></td></tr><tr><th id="L112"><a href="javascript:setLineNum(112)">112</a></th><td><span class="c">!</span></td></tr><tr><th id="L113"><a href="javascript:setLineNum(113)">113</a></th><td><span class="c">! Convert Heat fluxes to units used in POL subroutine dwl</span></td></tr><tr><th id="L114"><a href="javascript:setLineNum(114)">114</a></th><td><span class="c">!</span></td></tr><tr><th id="L115"><a href="javascript:setLineNum(115)">115</a></th><td><span class="c">!---------------------------------------------------------------------------</span></td></tr><tr><th id="L116"><a href="javascript:setLineNum(116)">116</a></th><td><span class="c"></span> <span class="nv">cp</span><span class="o">=</span><span class="mi">398</span><span class="mf">6.0</span><span class="nv">d0</span></td></tr><tr><th id="L117"><a href="javascript:setLineNum(117)">117</a></th><td></td></tr><tr><th id="L118"><a href="javascript:setLineNum(118)">118</a></th><td> <span class="k">DO </span><span class="nv">jj</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span> <span class="nv">jpj</span></td></tr><tr><th id="L119"><a href="javascript:setLineNum(119)">119</a></th><td> <span class="k">DO </span><span class="nv">ji</span> <span class="o">=</span> <span class="nv">fs_2</span><span class="p">,</span> <span class="nv">fs_jpim1</span></td></tr><tr><th id="L120"><a href="javascript:setLineNum(120)">120</a></th><td> <span class="nv">qsr</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">)</span> <span class="o">=</span> <span class="nv">qsr</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="nv">r1_rau0_rcp</span><span class="p">)</span></td></tr><tr><th id="L121"><a href="javascript:setLineNum(121)">121</a></th><td> <span class="nv">ENDDO</span> <span class="c">!ji</span></td></tr><tr><th id="L122"><a href="javascript:setLineNum(122)">122</a></th><td><span class="c"></span> <span class="nv">ENDDO</span> <span class="c">!jj</span></td></tr><tr><th id="L123"><a href="javascript:setLineNum(123)">123</a></th><td><span class="c">!--------------------------------------------------------------------------------</span></td></tr><tr><th id="L124"><a href="javascript:setLineNum(124)">124</a></th><td><span class="c"></span> <span class="k">if</span> <span class="p">(</span> <span class="nv">first</span> <span class="p">)</span> <span class="k">then</span></td></tr><tr><th id="L125"><a href="javascript:setLineNum(125)">125</a></th><td><span class="k"> </span><span class="nv">rlambda2</span><span class="p">(:,:)</span> <span class="o">=</span> <span class="mf">0.0</span></td></tr><tr><th id="L126"><a href="javascript:setLineNum(126)">126</a></th><td> <span class="nv">first</span><span class="o">=</span><span class="nb">.false.</span></td></tr><tr><th id="L127"><a href="javascript:setLineNum(127)">127</a></th><td> <span class="k">if</span> <span class="p">(</span> <span class="nv">ln_vary_lambda</span> <span class="p">)</span> <span class="k">then</span></td></tr><tr><th id="L128"><a href="javascript:setLineNum(128)">128</a></th><td><span class="c">! do j=1,jesub ! Original Polcoms style Loop</span></td></tr><tr><th id="L129"><a href="javascript:setLineNum(129)">129</a></th><td><span class="c">! do i=1,iesub ! Original Polcoms style Loop</span></td></tr><tr><th id="L130"><a href="javascript:setLineNum(130)">130</a></th><td><span class="c"></span></td></tr><tr><th id="L131"><a href="javascript:setLineNum(131)">131</a></th><td> <span class="k">do </span><span class="nv">jj</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span><span class="nv">jpjm1</span></td></tr><tr><th id="L132"><a href="javascript:setLineNum(132)">132</a></th><td> <span class="k">do </span><span class="nv">ji</span> <span class="o">=</span> <span class="nv">fs_2</span><span class="p">,</span> <span class="nv">fs_jpim1</span> <span class="c">! vector opt.</span></td></tr><tr><th id="L133"><a href="javascript:setLineNum(133)">133</a></th><td><span class="c"></span></td></tr><tr><th id="L134"><a href="javascript:setLineNum(134)">134</a></th><td><span class="c">! if(ipexb(i,j).ne. 0) then (Mask, use Tmask instead)</span></td></tr><tr><th id="L135"><a href="javascript:setLineNum(135)">135</a></th><td><span class="c"></span></td></tr><tr><th id="L136"><a href="javascript:setLineNum(136)">136</a></th><td> <span class="nv">rlambda2</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">)</span><span class="o">=-</span><span class="mf">0.033</span><span class="o">*</span><span class="nb">log</span><span class="p">(</span><span class="nv">hbatt</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">))</span><span class="o">+</span><span class="mf">0.2583</span> <span class="c">! JIAs formula</span></td></tr><tr><th id="L137"><a href="javascript:setLineNum(137)">137</a></th><td><span class="c"></span> <span class="nv">rlambda2</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">)</span><span class="o">=</span><span class="nb">max</span><span class="p">(</span><span class="mf">0.05</span><span class="p">,</span><span class="nv">rlambda2</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">))</span> <span class="c">! limit in deep water</span></td></tr><tr><th id="L138"><a href="javascript:setLineNum(138)">138</a></th><td><span class="c"></span> <span class="nv">enddo</span> <span class="c">! ji</span></td></tr><tr><th id="L139"><a href="javascript:setLineNum(139)">139</a></th><td><span class="c"></span> <span class="nv">enddo</span> <span class="c">! jj</span></td></tr><tr><th id="L140"><a href="javascript:setLineNum(140)">140</a></th><td><span class="c"></span> <span class="nv">rlambda</span> <span class="o">=</span> <span class="mf">0.0</span></td></tr><tr><th id="L141"><a href="javascript:setLineNum(141)">141</a></th><td> <span class="k">else</span></td></tr><tr><th id="L142"><a href="javascript:setLineNum(142)">142</a></th><td><span class="k"> </span><span class="nv">rLambda</span><span class="o">=</span><span class="mf">0.154</span></td></tr><tr><th id="L143"><a href="javascript:setLineNum(143)">143</a></th><td> <span class="k">endif</span> <span class="c">! If vary lambda</span></td></tr><tr><th id="L144"><a href="javascript:setLineNum(144)">144</a></th><td><span class="c"></span> <span class="k">endif</span> <span class="c">! If first</span></td></tr><tr><th id="L145"><a href="javascript:setLineNum(145)">145</a></th><td><span class="c"></span></td></tr><tr><th id="L146"><a href="javascript:setLineNum(146)">146</a></th><td><span class="c">! do j=1,jesub ! Original Polcoms Style Loop</span></td></tr><tr><th id="L147"><a href="javascript:setLineNum(147)">147</a></th><td><span class="c">! do i=1,iesub ! Original Polcoms Style Loop</span></td></tr><tr><th id="L148"><a href="javascript:setLineNum(148)">148</a></th><td><span class="c"></span> <span class="k">do </span><span class="nv">jk</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span><span class="nv">jpk</span></td></tr><tr><th id="L149"><a href="javascript:setLineNum(149)">149</a></th><td> <span class="k">DO </span><span class="nv">jj</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span><span class="nv">jpjm1</span></td></tr><tr><th id="L150"><a href="javascript:setLineNum(150)">150</a></th><td> <span class="k">DO </span><span class="nv">ji</span> <span class="o">=</span> <span class="nv">fs_2</span><span class="p">,</span> <span class="nv">fs_jpim1</span> <span class="c">! vector opt.</span></td></tr><tr><th id="L151"><a href="javascript:setLineNum(151)">151</a></th><td><span class="c"></span></td></tr><tr><th id="L152"><a href="javascript:setLineNum(152)">152</a></th><td><span class="c">!--------------------------------------------------------------------</span></td></tr><tr><th id="L153"><a href="javascript:setLineNum(153)">153</a></th><td><span class="c">! Calculate change in temperature</span></td></tr><tr><th id="L154"><a href="javascript:setLineNum(154)">154</a></th><td><span class="c">!--------------------------------------------------------------------</span></td></tr><tr><th id="L155"><a href="javascript:setLineNum(155)">155</a></th><td><span class="c">!</span></td></tr><tr><th id="L156"><a href="javascript:setLineNum(156)">156</a></th><td><span class="c">! rad0 = hfl_in(i,j) ! change hfl_in to qsr I assume</span></td></tr><tr><th id="L157"><a href="javascript:setLineNum(157)">157</a></th><td><span class="c"></span></td></tr><tr><th id="L158"><a href="javascript:setLineNum(158)">158</a></th><td> <span class="nv">rad0</span> <span class="o">=</span> <span class="nv">qsr</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">)</span></td></tr><tr><th id="L159"><a href="javascript:setLineNum(159)">159</a></th><td> <span class="nv">rD</span> <span class="o">=</span> <span class="nv">rLambda2</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">)</span> <span class="o">+</span><span class="nv">rLambda</span> <span class="c">! Transmissivity to be used here</span></td></tr><tr><th id="L160"><a href="javascript:setLineNum(160)">160</a></th><td><span class="c">! if rlambda 0 then rlambda2 not zer and vica versa </span></td></tr><tr><th id="L161"><a href="javascript:setLineNum(161)">161</a></th><td><span class="c"></span></td></tr><tr><th id="L162"><a href="javascript:setLineNum(162)">162</a></th><td> <span class="nv">z2</span><span class="o">=</span><span class="nv">gdepw_0</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">,</span><span class="nv">jk</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="c">! grid box is from z=z1 to z=z2</span></td></tr><tr><th id="L163"><a href="javascript:setLineNum(163)">163</a></th><td><span class="c"></span> <span class="nv">z1</span><span class="o">=</span><span class="nv">gdepw_0</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">,</span><span class="nv">jk</span><span class="p">)</span></td></tr><tr><th id="L164"><a href="javascript:setLineNum(164)">164</a></th><td></td></tr><tr><th id="L165"><a href="javascript:setLineNum(165)">165</a></th><td> <span class="nv">Rad2</span><span class="o">=</span><span class="nv">Rad0</span><span class="o">*</span><span class="p">(</span><span class="nb">exp</span><span class="p">(</span><span class="o">-</span><span class="nv">z2</span><span class="o">*</span><span class="nv">rD</span><span class="p">))</span> <span class="c">! radiation entering box</span></td></tr><tr><th id="L166"><a href="javascript:setLineNum(166)">166</a></th><td><span class="c"></span> <span class="nv">Rad1</span><span class="o">=</span><span class="nv">Rad0</span><span class="o">*</span><span class="p">(</span><span class="nb">exp</span><span class="p">(</span><span class="o">-</span><span class="nv">z1</span><span class="o">*</span><span class="nv">rD</span><span class="p">))</span> <span class="c">! radiation leaving box</span></td></tr><tr><th id="L167"><a href="javascript:setLineNum(167)">167</a></th><td><span class="c"></span></td></tr><tr><th id="L168"><a href="javascript:setLineNum(168)">168</a></th><td></td></tr><tr><th id="L169"><a href="javascript:setLineNum(169)">169</a></th><td> <span class="nv">dtmp</span><span class="p">(</span><span class="nv">jk</span><span class="p">)</span><span class="o">=</span><span class="mf">1.0</span><span class="o">/</span><span class="p">(</span><span class="nv">e3t_0</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">,</span><span class="nv">jk</span><span class="p">))</span><span class="o">*</span><span class="p">(</span><span class="nv">Rad2</span><span class="o">-</span><span class="nv">Rad1</span><span class="p">)</span> <span class="c">!change in temperature</span></td></tr><tr><th id="L170"><a href="javascript:setLineNum(170)">170</a></th><td><span class="c"></span> <span class="nv">tsa</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">,</span><span class="nv">jk</span><span class="p">,</span><span class="nv">jp_tem</span><span class="p">)</span> <span class="o">=</span> <span class="nv">tsa</span><span class="p">(</span><span class="nv">ji</span><span class="p">,</span><span class="nv">jj</span><span class="p">,</span><span class="nv">jk</span><span class="p">,</span><span class="nv">jp_tem</span><span class="p">)</span> <span class="o">+</span> <span class="nv">dtmp</span><span class="p">(</span><span class="nv">jk</span><span class="p">)</span></td></tr><tr><th id="L171"><a href="javascript:setLineNum(171)">171</a></th><td> <span class="nv">enddo</span> <span class="c">! ji</span></td></tr><tr><th id="L172"><a href="javascript:setLineNum(172)">172</a></th><td><span class="c"></span> <span class="nv">enddo</span> <span class="c">! jj</span></td></tr><tr><th id="L173"><a href="javascript:setLineNum(173)">173</a></th><td><span class="c"></span> <span class="nv">enddo</span> <span class="c">!jk</span></td></tr><tr><th id="L174"><a href="javascript:setLineNum(174)">174</a></th><td><span class="c"></span></td></tr><tr><th id="L175"><a href="javascript:setLineNum(175)">175</a></th><td></td></tr><tr><th id="L176"><a href="javascript:setLineNum(176)">176</a></th><td> <span class="k">IF</span><span class="p">(</span> <span class="nv">l_trdtra</span> <span class="p">)</span> <span class="k">THEN</span> <span class="c">! qsr tracers trends saved for diagnostics</span></td></tr><tr><th id="L177"><a href="javascript:setLineNum(177)">177</a></th><td><span class="c"></span> <span class="nv">ztrdt</span><span class="p">(:,:,:)</span> <span class="o">=</span> <span class="nv">tsa</span><span class="p">(:,:,:,</span><span class="nv">jp_tem</span><span class="p">)</span> <span class="o">-</span> <span class="nv">ztrdt</span><span class="p">(:,:,:)</span></td></tr><tr><th id="L178"><a href="javascript:setLineNum(178)">178</a></th><td> <span class="c">!CEODCALL trd_mod( ztrdt, ztrds, jptra_trd_qsr, 'TRA', kt )</span></td></tr><tr><th id="L179"><a href="javascript:setLineNum(179)">179</a></th><td><span class="c"></span> <span class="k">ENDIF</span></td></tr><tr><th id="L180"><a href="javascript:setLineNum(180)">180</a></th><td> <span class="c">! ! print mean trends (used for debugging)</span></td></tr><tr><th id="L181"><a href="javascript:setLineNum(181)">181</a></th><td><span class="c"></span> <span class="k">IF</span><span class="p">(</span><span class="nv">ln_ctl</span><span class="p">)</span> <span class="k">CALL </span><span class="nv">prt_ctl</span><span class="p">(</span> <span class="nv">tab3d_1</span><span class="o">=</span><span class="nv">tsa</span><span class="p">(:,:,:,</span><span class="nv">jp_tem</span><span class="p">),</span> <span class="nv">clinfo1</span><span class="o">=</span><span class="s1">' qsr - Ta: '</span><span class="p">,</span> <span class="nv">mask1</span><span class="o">=</span><span class="nv">tmask</span><span class="p">,</span> <span class="nv">clinfo3</span><span class="o">=</span><span class="s1">'tra-ta'</span> <span class="p">)</span></td></tr><tr><th id="L182"><a href="javascript:setLineNum(182)">182</a></th><td> <span class="c">!</span></td></tr><tr><th id="L183"><a href="javascript:setLineNum(183)">183</a></th><td><span class="c"></span> <span class="k">END SUBROUTINE </span><span class="nv">tra_dwl</span></td></tr><tr><th id="L184"><a href="javascript:setLineNum(184)">184</a></th><td></td></tr><tr><th id="L185"><a href="javascript:setLineNum(185)">185</a></th><td></td></tr><tr><th id="L186"><a href="javascript:setLineNum(186)">186</a></th><td> <span class="k">SUBROUTINE </span><span class="nv">tra_dwl_init</span></td></tr><tr><th id="L187"><a href="javascript:setLineNum(187)">187</a></th><td> <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L188"><a href="javascript:setLineNum(188)">188</a></th><td><span class="c"></span> <span class="c">!! *** ROUTINE tra_dwl_init ***</span></td></tr><tr><th id="L189"><a href="javascript:setLineNum(189)">189</a></th><td><span class="c"></span> <span class="c">!!</span></td></tr><tr><th id="L190"><a href="javascript:setLineNum(190)">190</a></th><td><span class="c"></span> <span class="c">!! ** Purpose : Initialization for the penetrative solar radiation for Downwell routine</span></td></tr><tr><th id="L191"><a href="javascript:setLineNum(191)">191</a></th><td><span class="c"></span> <span class="c">!!</span></td></tr><tr><th id="L192"><a href="javascript:setLineNum(192)">192</a></th><td><span class="c"></span> <span class="c">!! ** Method : The profile of solar radiation within the ocean is set</span></td></tr><tr><th id="L193"><a href="javascript:setLineNum(193)">193</a></th><td><span class="c"></span> <span class="c">!! from two length scale of penetration (rn_si0,rn_si1) and a ratio</span></td></tr><tr><th id="L194"><a href="javascript:setLineNum(194)">194</a></th><td><span class="c"></span> <span class="c">!! (rn_abs). These parameters are read in the namtra_qsr namelist. The</span></td></tr><tr><th id="L195"><a href="javascript:setLineNum(195)">195</a></th><td><span class="c"></span> <span class="c">!! default values correspond to clear water (type I in Jerlov' </span></td></tr><tr><th id="L196"><a href="javascript:setLineNum(196)">196</a></th><td><span class="c"></span> <span class="c">!! (1968) classification.</span></td></tr><tr><th id="L197"><a href="javascript:setLineNum(197)">197</a></th><td><span class="c"></span> <span class="c">!! called by tra_qsr at the first timestep (nit000)</span></td></tr><tr><th id="L198"><a href="javascript:setLineNum(198)">198</a></th><td><span class="c"></span> <span class="c">!!</span></td></tr><tr><th id="L199"><a href="javascript:setLineNum(199)">199</a></th><td><span class="c"></span> <span class="c">!! ** Action : - initialize rn_si0, rn_si1 and rn_abs</span></td></tr><tr><th id="L200"><a href="javascript:setLineNum(200)">200</a></th><td><span class="c"></span> <span class="c">!!</span></td></tr><tr><th id="L201"><a href="javascript:setLineNum(201)">201</a></th><td><span class="c"></span> <span class="c">!! Reference : Jerlov, N. G., 1968 Optical Oceanography, Elsevier, 194pp.</span></td></tr><tr><th id="L202"><a href="javascript:setLineNum(202)">202</a></th><td><span class="c"></span> <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L203"><a href="javascript:setLineNum(203)">203</a></th><td><span class="c"></span> <span class="kt">INTEGER</span> <span class="kd">::</span> <span class="nv">ji</span><span class="p">,</span> <span class="nv">jj</span><span class="p">,</span> <span class="nv">jk</span> <span class="c">! dummy loop indices</span></td></tr><tr><th id="L204"><a href="javascript:setLineNum(204)">204</a></th><td><span class="c"></span> <span class="kt">INTEGER</span> <span class="kd">::</span> <span class="nv">ios</span> <span class="c">! Local integer output status for namelist read</span></td></tr><tr><th id="L205"><a href="javascript:setLineNum(205)">205</a></th><td><span class="c"></span> <span class="kt">INTEGER</span> <span class="kd">::</span> <span class="nv">irgb</span><span class="p">,</span> <span class="nv">ierror</span> <span class="c">! temporary integer</span></td></tr><tr><th id="L206"><a href="javascript:setLineNum(206)">206</a></th><td><span class="c"></span> <span class="kt">INTEGER</span> <span class="kd">::</span> <span class="nv">ioptio</span><span class="p">,</span> <span class="nv">nqsr</span> <span class="c">! temporary integer</span></td></tr><tr><th id="L207"><a href="javascript:setLineNum(207)">207</a></th><td><span class="c"></span> <span class="kt">REAL</span><span class="p">(</span><span class="nv">wp</span><span class="p">)</span> <span class="kd">::</span> <span class="nv">zc0</span> <span class="p">,</span> <span class="nv">zc1</span> <span class="c">! temporary scalars</span></td></tr><tr><th id="L208"><a href="javascript:setLineNum(208)">208</a></th><td><span class="c"></span> <span class="kt">REAL</span><span class="p">(</span><span class="nv">wp</span><span class="p">)</span> <span class="kd">::</span> <span class="nv">zc2</span> <span class="p">,</span> <span class="nv">zc3</span> <span class="p">,</span> <span class="nv">zchl</span> <span class="c">! - -</span></td></tr><tr><th id="L209"><a href="javascript:setLineNum(209)">209</a></th><td><span class="c"></span> <span class="kt">REAL</span><span class="p">(</span><span class="nv">wp</span><span class="p">)</span> <span class="kd">::</span> <span class="nv">zsi0r</span><span class="p">,</span> <span class="nv">zsi1r</span><span class="p">,</span> <span class="nv">zcoef</span> <span class="c">! - -</span></td></tr><tr><th id="L210"><a href="javascript:setLineNum(210)">210</a></th><td><span class="c"></span> <span class="kt">REAL</span><span class="p">(</span><span class="nv">wp</span><span class="p">),</span> <span class="k">DIMENSION</span><span class="p">(</span><span class="nv">jpi</span><span class="p">,</span><span class="nv">jpj</span><span class="p">)</span> <span class="kd">::</span> <span class="nv">zekb</span><span class="p">,</span> <span class="nv">zekg</span><span class="p">,</span> <span class="nv">zekr</span> <span class="c">! 2D workspace</span></td></tr><tr><th id="L211"><a href="javascript:setLineNum(211)">211</a></th><td><span class="c"></span> <span class="kt">REAL</span><span class="p">(</span><span class="nv">wp</span><span class="p">),</span> <span class="k">DIMENSION</span><span class="p">(</span><span class="nv">jpi</span><span class="p">,</span><span class="nv">jpj</span><span class="p">,</span><span class="nv">jpk</span><span class="p">)</span> <span class="kd">::</span> <span class="nv">ze0</span> <span class="p">,</span> <span class="nv">ze1</span> <span class="p">,</span> <span class="nv">ze2</span> <span class="p">,</span> <span class="nv">ze3</span> <span class="p">,</span> <span class="nv">zea</span> <span class="c">! 3D workspace</span></td></tr><tr><th id="L212"><a href="javascript:setLineNum(212)">212</a></th><td><span class="c"></span> <span class="c">!!</span></td></tr><tr><th id="L213"><a href="javascript:setLineNum(213)">213</a></th><td><span class="c"></span> <span class="kt">CHARACTER</span><span class="p">(</span><span class="nb">len</span><span class="o">=</span><span class="mi">100</span><span class="p">)</span> <span class="kd">::</span> <span class="nv">cn_dir</span> <span class="c">! Root directory for location of ssr files</span></td></tr><tr><th id="L214"><a href="javascript:setLineNum(214)">214</a></th><td><span class="c"></span> <span class="k">TYPE</span><span class="p">(</span><span class="nv">FLD_N</span><span class="p">)</span> <span class="kd">::</span> <span class="nv">sn_chl</span> <span class="c">! informations about the chlorofyl field to be read</span></td></tr><tr><th id="L215"><a href="javascript:setLineNum(215)">215</a></th><td><span class="c"></span> <span class="k">NAMELIST</span><span class="o">/</span><span class="nv">namtra_dwl</span><span class="o">/</span> <span class="nv">ln_tradwl</span><span class="p">,</span> <span class="nv">ln_vary_lambda</span></td></tr><tr><th id="L216"><a href="javascript:setLineNum(216)">216</a></th><td> <span class="c">!!----------------------------------------------------------------------</span></td></tr><tr><th id="L217"><a href="javascript:setLineNum(217)">217</a></th><td><span class="c"></span></td></tr><tr><th id="L218"><a href="javascript:setLineNum(218)">218</a></th><td> <span class="k">REWIND</span><span class="p">(</span> <span class="nv">numnam_ref</span> <span class="p">)</span> <span class="c">! Read Namelist namtra_dwl in reference namelist :</span></td></tr><tr><th id="L219"><a href="javascript:setLineNum(219)">219</a></th><td><span class="c"></span> <span class="k">READ</span> <span class="p">(</span> <span class="nv">numnam_ref</span><span class="p">,</span> <span class="nv">namtra_dwl</span><span class="p">,</span> <span class="nv">IOSTAT</span> <span class="o">=</span> <span class="nv">ios</span><span class="p">,</span> <span class="nv">ERR</span> <span class="o">=</span> <span class="mi">901</span><span class="p">)</span></td></tr><tr><th id="L220"><a href="javascript:setLineNum(220)">220</a></th><td><span class="mi">901</span> <span class="k">IF</span><span class="p">(</span> <span class="nv">ios</span> <span class="o">/=</span> <span class="mi">0</span> <span class="p">)</span> <span class="k">CALL </span><span class="nv">ctl_nam</span> <span class="p">(</span> <span class="nv">ios</span> <span class="p">,</span> <span class="s1">'namtra_qsr in reference namelist'</span><span class="p">,</span> <span class="nv">lwp</span> <span class="p">)</span></td></tr><tr><th id="L221"><a href="javascript:setLineNum(221)">221</a></th><td> </td></tr><tr><th id="L222"><a href="javascript:setLineNum(222)">222</a></th><td> <span class="k">REWIND</span><span class="p">(</span> <span class="nv">numnam_cfg</span> <span class="p">)</span> <span class="c">! Read Namelist namtra_dwl in configuration namelist :</span></td></tr><tr><th id="L223"><a href="javascript:setLineNum(223)">223</a></th><td><span class="c"></span> <span class="k">READ</span> <span class="p">(</span> <span class="nv">numnam_cfg</span><span class="p">,</span> <span class="nv">namtra_dwl</span><span class="p">,</span> <span class="nv">IOSTAT</span> <span class="o">=</span> <span class="nv">ios</span><span class="p">,</span> <span class="nv">ERR</span> <span class="o">=</span> <span class="mi">902</span><span class="p">)</span></td></tr><tr><th id="L224"><a href="javascript:setLineNum(224)">224</a></th><td><span class="mi">902</span> <span class="k">IF</span><span class="p">(</span> <span class="nv">ios</span> <span class="o">/=</span> <span class="mi">0</span> <span class="p">)</span> <span class="k">CALL </span><span class="nv">ctl_nam</span> <span class="p">(</span> <span class="nv">ios</span> <span class="p">,</span> <span class="s1">'namtra_qsr in configuration namelist'</span><span class="p">,</span> <span class="nv">lwp</span> <span class="p">)</span></td></tr><tr><th id="L225"><a href="javascript:setLineNum(225)">225</a></th><td> <span class="c">!</span></td></tr><tr><th id="L226"><a href="javascript:setLineNum(226)">226</a></th><td><span class="c"></span> <span class="k">IF</span><span class="p">(</span><span class="nv">lwp</span><span class="p">)</span> <span class="k">THEN</span> <span class="c">! control print</span></td></tr><tr><th id="L227"><a href="javascript:setLineNum(227)">227</a></th><td><span class="c"></span> <span class="k">WRITE</span><span class="p">(</span><span class="nv">numout</span><span class="p">,</span><span class="o">*</span><span class="p">)</span></td></tr><tr><th id="L228"><a href="javascript:setLineNum(228)">228</a></th><td> <span class="k">WRITE</span><span class="p">(</span><span class="nv">numout</span><span class="p">,</span><span class="o">*</span><span class="p">)</span> <span class="s1">'tra_dwl_init : '</span></td></tr><tr><th id="L229"><a href="javascript:setLineNum(229)">229</a></th><td> <span class="k">WRITE</span><span class="p">(</span><span class="nv">numout</span><span class="p">,</span><span class="o">*</span><span class="p">)</span> <span class="s1">'~~~~~~~~~~~~'</span></td></tr><tr><th id="L230"><a href="javascript:setLineNum(230)">230</a></th><td> <span class="k">WRITE</span><span class="p">(</span><span class="nv">numout</span><span class="p">,</span><span class="o">*</span><span class="p">)</span> <span class="s1">' Namelist namtra_dwl : set the parameter of penetration'</span></td></tr><tr><th id="L231"><a href="javascript:setLineNum(231)">231</a></th><td> <span class="k">WRITE</span><span class="p">(</span><span class="nv">numout</span><span class="p">,</span><span class="o">*</span><span class="p">)</span> <span class="s1">' Light penetration (T) or not (F) ln_tradwl = '</span><span class="p">,</span> <span class="nv">ln_tradwl</span></td></tr><tr><th id="L232"><a href="javascript:setLineNum(232)">232</a></th><td> <span class="k">WRITE</span><span class="p">(</span><span class="nv">numout</span><span class="p">,</span><span class="o">*</span><span class="p">)</span> <span class="s1">' Vary Lambda (T) or not (F)) ln_vary_lambda = '</span><span class="p">,</span> <span class="nv">ln_vary_lambda</span></td></tr><tr><th id="L233"><a href="javascript:setLineNum(233)">233</a></th><td> <span class="k">ENDIF</span></td></tr><tr><th id="L234"><a href="javascript:setLineNum(234)">234</a></th><td><span class="k"></span></td></tr><tr><th id="L235"><a href="javascript:setLineNum(235)">235</a></th><td><span class="k"> END SUBROUTINE </span><span class="nv">tra_dwl_init</span></td></tr><tr><th id="L236"><a href="javascript:setLineNum(236)">236</a></th><td></td></tr><tr><th id="L237"><a href="javascript:setLineNum(237)">237</a></th><td> <span class="c">!!======================================================================</span></td></tr><tr><th id="L238"><a href="javascript:setLineNum(238)">238</a></th><td><span class="c"></span><span class="k">END MODULE </span><span class="nv">tradwl</span></td></tr></tbody></table> 171 172 </div> 173 <div id="anydiff"> 174 <form action="/nemo/diff" method="get"> 175 <div class="buttons"> 176 <input type="hidden" name="new_path" value="/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90" /> 177 <input type="hidden" name="old_path" value="/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90" /> 178 <input type="hidden" name="new_rev" value="7120" /> 179 <input type="hidden" name="old_rev" value="7120" /> 180 <input type="submit" value="View changes..." title="Select paths and revs for Diff" /> 181 </div> 182 </form> 183 </div> 184 <div id="help"><strong>Note:</strong> See <a href="/nemo/wiki/TracBrowser">TracBrowser</a> 185 for help on using the repository browser.</div> 186 </div> 187 <div id="altlinks"> 188 <h3>Download in other formats:</h3> 189 <ul> 190 <li class="first"> 191 <a rel="nofollow" href="/nemo/browser/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90?rev=7120&format=txt">Plain Text</a> 192 </li><li class="last"> 193 <a rel="nofollow" href="/nemo/export/7120/branches/UKMO/r5936_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/TRA/tradwl.F90">Original Format</a> 194 </li> 195 </ul> 196 </div> 197 </div> 198 <div id="footer" lang="en" xml:lang="en"><hr /> 199 <a id="tracpowered" href="http://trac.edgewall.org/"><img src="/nemo/chrome/common/trac_logo_mini.png" height="30" width="107" alt="Trac Powered" /></a> 200 <p class="left">Powered by <a href="/nemo/about"><strong>Trac 1.0.1</strong></a><br /> 201 By <a href="http://www.edgewall.org/">Edgewall Software</a>.</p> 202 <p class="right">Visit the <b><a href="http://www.nemo-ocean.eu">NEMO website</a></b></p> 203 </div> 204 <div id="sitefooter"> 205 </div> 206 </body> 207 </html> 1 MODULE tradwl 2 !!====================================================================== 3 !! *** MODULE tradwl *** 4 !! Ocean physics: solar radiation penetration in the top ocean levels 5 !!====================================================================== 6 !! History : POLCOMS ! 1996-10 (J. Holt) Original code 7 !! NEMO 3.2 ! 2010-03 (E. O'Dea) Import to Nemo for use in Shelf Model 8 !!---------------------------------------------------------------------- 9 10 !!---------------------------------------------------------------------- 11 !! tra_dwl : trend due to the solar radiation penetration 12 !! tra_dwl_init : solar radiation penetration initialization 13 !!---------------------------------------------------------------------- 14 USE oce ! ocean dynamics and active tracers 15 USE dom_oce ! ocean space and time domain 16 USE sbc_oce ! surface boundary condition: ocean 17 USE trc_oce ! share SMS/Ocean variables 18 USE trd_oce ! trends: ocean variables 19 USE trdtra ! ocean active tracers trends 20 USE in_out_manager ! I/O manager 21 USE phycst ! physical constants 22 USE prtctl ! Print control 23 USE iom ! I/O manager 24 USE fldread ! read input fields 25 26 IMPLICIT NONE 27 PRIVATE 28 29 PUBLIC tra_dwl ! routine called by step.F90 (ln_tradwl=T) 30 31 ! !!* Namelist namtra_qsr: penetrative solar radiation 32 LOGICAL , PUBLIC :: ln_tradwl = .TRUE. ! light absorption (dwl) flag 33 LOGICAL , PUBLIC :: ln_vary_lambda = .TRUE. ! vary Lambda or not flag 34 35 !! * Substitutions 36 # include "domzgr_substitute.h90" 37 # include "vectopt_loop_substitute.h90" 38 !!---------------------------------------------------------------------- 39 !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009) 40 !! $Id$ 41 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 42 !!---------------------------------------------------------------------- 43 44 CONTAINS 45 46 SUBROUTINE tra_dwl( kt ) 47 !!---------------------------------------------------------------------- 48 !! *** ROUTINE tra_qsr *** 49 !! 50 !! ** Purpose : Compute the temperature trend due to the solar radiation 51 !! penetration and add it to the general temperature trend. 52 !! 53 !! ** Method : The profile of the solar radiation within the ocean is defined 54 !! 55 !! Jason Holt Oct 96 56 !! 57 !! Calculates change in temperature due to penetrating 58 !! radiation, with cooling at the surface layer 59 !! 60 !! rad=rad0*exp(lambda*z) 61 !! 62 !! Heat input into box is between z=K and z=K+1 is RAD(K)-RAD(K+1) 63 !! 64 !! 65 !! ** Action : - update ta with the penetrative solar radiation trend 66 !! - save the trend in ttrd ('key_trdtra') 67 !! 68 !!---------------------------------------------------------------------- 69 USE oce, ONLY : ztrdt => ua ! use ua as 3D workspace 70 USE oce, ONLY : ztrds => va ! use va as 3D workspace 71 !! 72 INTEGER, INTENT(in) :: kt ! ocean time-step 73 !! 74 INTEGER :: ji, jj, jk ! dummy loop indices 75 INTEGER :: irgb ! temporary integers 76 REAL(wp) :: zchl, zcoef, zsi0r ! temporary scalars 77 REAL(wp) :: zc0, zc1, zc2, zc3 ! - - 78 REAL(wp), DIMENSION(jpi,jpj) :: zekb, zekg, zekr ! 2D workspace 79 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ze0, ze1 , ze2, ze3, zea ! 3D workspace 80 !!---------------------------------------------------------------------- 81 !! HERE GO VARIABLES USED IN POLCOMS CLEAN UP LATER 82 83 integer i,j,k 84 ! real*8 dtmp(n-1) 85 real*8 dtmp(jpkm1) 86 real*8 z1,z2,Rad0,Rad1,Rad2,rD,SurfOut,cp 87 logical first 88 save first 89 data first/.true./ 90 !!--------------------------End of POLCOMS variables Note instead of using saves 91 !!--------------------------Could shift this into initial code 92 93 IF( kt == nit000 ) THEN 94 IF(lwp) WRITE(numout,*) 95 IF(lwp) WRITE(numout,*) 'tra_dwl : penetration of the surface solar radiation' 96 IF(lwp) WRITE(numout,*) '~~~~~~~' 97 CALL tra_dwl_init 98 IF( .NOT.ln_tradwl ) RETURN 99 ENDIF 100 101 IF( l_trdtra ) THEN ! Save ta and sa trends 102 ztrdt(:,:,:) = tsa(:,:,:,jp_tem) 103 ztrds(:,:,:) = 0.e0 104 ENDIF 105 !-------------------------------------------------------------------- 106 ! Set transmissivity 107 !-------------------------------------------------------------------- 108 ! 109 ! Normal value 110 ! 111 !--------------------------------------------------------------------------- 112 ! 113 ! Convert Heat fluxes to units used in POL subroutine dwl 114 ! 115 !--------------------------------------------------------------------------- 116 cp=3986.0d0 117 118 DO jj = 2, jpj 119 DO ji = fs_2, fs_jpim1 120 qsr(ji,jj) = qsr(ji,jj) * (r1_rau0_rcp) 121 ENDDO !ji 122 ENDDO !jj 123 !-------------------------------------------------------------------------------- 124 if ( first ) then 125 rlambda2(:,:) = 0.0 126 first=.false. 127 if ( ln_vary_lambda ) then 128 ! do j=1,jesub ! Original Polcoms style Loop 129 ! do i=1,iesub ! Original Polcoms style Loop 130 131 do jj=2,jpjm1 132 do ji = fs_2, fs_jpim1 ! vector opt. 133 134 ! if(ipexb(i,j).ne. 0) then (Mask, use Tmask instead) 135 136 rlambda2(ji,jj)=-0.033*log(hbatt(ji,jj))+0.2583 ! JIAs formula 137 rlambda2(ji,jj)=max(0.05,rlambda2(ji,jj)) ! limit in deep water 138 enddo ! ji 139 enddo ! jj 140 rlambda = 0.0 141 else 142 rLambda=0.154 143 endif ! If vary lambda 144 endif ! If first 145 146 ! do j=1,jesub ! Original Polcoms Style Loop 147 ! do i=1,iesub ! Original Polcoms Style Loop 148 do jk=2,jpk 149 DO jj=2,jpjm1 150 DO ji = fs_2, fs_jpim1 ! vector opt. 151 152 !-------------------------------------------------------------------- 153 ! Calculate change in temperature 154 !-------------------------------------------------------------------- 155 ! 156 ! rad0 = hfl_in(i,j) ! change hfl_in to qsr I assume 157 158 rad0 = qsr(ji,jj) 159 rD = rLambda2(ji,jj) +rLambda ! Transmissivity to be used here 160 ! if rlambda 0 then rlambda2 not zer and vica versa 161 162 z2=gdepw_0(ji,jj,jk-1) ! grid box is from z=z1 to z=z2 163 z1=gdepw_0(ji,jj,jk) 164 165 Rad2=Rad0*(exp(-z2*rD)) ! radiation entering box 166 Rad1=Rad0*(exp(-z1*rD)) ! radiation leaving box 167 168 169 dtmp(jk)=1.0/(e3t_0(ji,jj,jk))*(Rad2-Rad1) !change in temperature 170 tsa(ji,jj,jk,jp_tem) = tsa(ji,jj,jk,jp_tem) + dtmp(jk) 171 enddo ! ji 172 enddo ! jj 173 enddo !jk 174 175 176 IF( l_trdtra ) THEN ! qsr tracers trends saved for diagnostics 177 ztrdt(:,:,:) = tsa(:,:,:,jp_tem) - ztrdt(:,:,:) 178 !CEODCALL trd_mod( ztrdt, ztrds, jptra_trd_qsr, 'TRA', kt ) 179 ENDIF 180 ! ! print mean trends (used for debugging) 181 IF(ln_ctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' qsr - Ta: ', mask1=tmask, clinfo3='tra-ta' ) 182 ! 183 END SUBROUTINE tra_dwl 184 185 186 SUBROUTINE tra_dwl_init 187 !!---------------------------------------------------------------------- 188 !! *** ROUTINE tra_dwl_init *** 189 !! 190 !! ** Purpose : Initialization for the penetrative solar radiation for Downwell routine 191 !! 192 !! ** Method : The profile of solar radiation within the ocean is set 193 !! from two length scale of penetration (rn_si0,rn_si1) and a ratio 194 !! (rn_abs). These parameters are read in the namtra_qsr namelist. The 195 !! default values correspond to clear water (type I in Jerlov' 196 !! (1968) classification. 197 !! called by tra_qsr at the first timestep (nit000) 198 !! 199 !! ** Action : - initialize rn_si0, rn_si1 and rn_abs 200 !! 201 !! Reference : Jerlov, N. G., 1968 Optical Oceanography, Elsevier, 194pp. 202 !!---------------------------------------------------------------------- 203 INTEGER :: ji, jj, jk ! dummy loop indices 204 INTEGER :: ios ! Local integer output status for namelist read 205 INTEGER :: irgb, ierror ! temporary integer 206 INTEGER :: ioptio, nqsr ! temporary integer 207 REAL(wp) :: zc0 , zc1 ! temporary scalars 208 REAL(wp) :: zc2 , zc3 , zchl ! - - 209 REAL(wp) :: zsi0r, zsi1r, zcoef ! - - 210 REAL(wp), DIMENSION(jpi,jpj) :: zekb, zekg, zekr ! 2D workspace 211 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ze0 , ze1 , ze2 , ze3 , zea ! 3D workspace 212 !! 213 CHARACTER(len=100) :: cn_dir ! Root directory for location of ssr files 214 TYPE(FLD_N) :: sn_chl ! informations about the chlorofyl field to be read 215 NAMELIST/namtra_dwl/ ln_tradwl, ln_vary_lambda 216 !!---------------------------------------------------------------------- 217 218 REWIND( numnam_ref ) ! Read Namelist namtra_dwl in reference namelist : 219 READ ( numnam_ref, namtra_dwl, IOSTAT = ios, ERR = 901) 220 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_qsr in reference namelist', lwp ) 221 222 REWIND( numnam_cfg ) ! Read Namelist namtra_dwl in configuration namelist : 223 READ ( numnam_cfg, namtra_dwl, IOSTAT = ios, ERR = 902) 224 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_qsr in configuration namelist', lwp ) 225 ! 226 IF(lwp) THEN ! control print 227 WRITE(numout,*) 228 WRITE(numout,*) 'tra_dwl_init : ' 229 WRITE(numout,*) '~~~~~~~~~~~~' 230 WRITE(numout,*) ' Namelist namtra_dwl : set the parameter of penetration' 231 WRITE(numout,*) ' Light penetration (T) or not (F) ln_tradwl = ', ln_tradwl 232 WRITE(numout,*) ' Vary Lambda (T) or not (F)) ln_vary_lambda = ', ln_vary_lambda 233 ENDIF 234 235 END SUBROUTINE tra_dwl_init 236 237 !!====================================================================== 238 END MODULE tradwl -
branches/UKMO/r6232_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/step_oce.F90
r7452 r7454 31 31 32 32 USE traqsr ! solar radiation penetration (tra_qsr routine) 33 USE tradwl ! POLCOMS style solar radiation (tra_dwl routine) 33 USE tradwl ! POLCOMS style solar radiation (tra_dwl routine) 34 34 USE trasbc ! surface boundary condition (tra_sbc routine) 35 35 USE trabbc ! bottom boundary condition (tra_bbc routine) -
branches/UKMO/r6232_CO6_CO5_zenv_pomsdwl/NEMOGCM/NEMO/OPA_SRC/trc_oce.F90
r7452 r7454 27 27 REAL(wp), PUBLIC, SAVE, ALLOCATABLE, DIMENSION(:,:,:) :: etot3 !: light absortion coefficient 28 28 REAL(wp), PUBLIC, SAVE, ALLOCATABLE, DIMENSION(:,:,:) :: facvol !: volume for degraded regions 29 REAL(wp), PUBLIC, SAVE, ALLOCATABLE, DIMENSION(:,:) :: rlambda2 !: Lambda2 for downwell version of Short wave Radiation 29 REAL(wp), PUBLIC, SAVE, ALLOCATABLE, DIMENSION(:,:) :: rlambda2 !: Lambda2 for downwell version of Short wave Radiation 30 30 REAL(wp), PUBLIC :: rlambda !: Lambda for downwell version of Short wave Radiation 31 31 … … 85 85 ALLOCATE( etot3 (jpi,jpj,jpk), STAT=ierr(1) ) 86 86 IF( lk_degrad) ALLOCATE( facvol(jpi,jpj,jpk), STAT=ierr(2) ) 87 87 ALLOCATE( rlambda2(jpi,jpj), STAT=ierr(3) ) 88 88 trc_oce_alloc = MAXVAL( ierr ) 89 89 ! 90 !IF( trc_oce_alloc /= 0 ) CALL ctl_warn('trc_oce_alloc: failed to allocate etot3 array')90 IF( trc_oce_alloc /= 0 ) CALL ctl_warn('trc_oce_alloc: failed to allocate etot3 array') 91 91 IF( trc_oce_alloc /= 0 ) CALL ctl_warn('trc_oce_alloc: failed to allocate etot3, facvol or rlambda2 array') 92 92 END FUNCTION trc_oce_alloc
Note: See TracChangeset
for help on using the changeset viewer.