Comments (4)
Hi Elizabeth,
The option to calculate ice-ocean drag based on a (variable) under-ice ice roughness and the thickness of the ocean layer was added to icepack_parameters.F and the documentation, but apparently the actual calculation is done outside of icepack and the resulting value is sent in as the parameter iceruf_ocn. Is that correct?
That's not correct. In the documentation (which I added in #366), we have (last paragraph of https://cice-consortium-icepack.readthedocs.io/en/main/science_guide/sg_boundary_forcing.html#ocean):
Icepack/doc/source/science_guide/sg_boundary_forcing.rst
Lines 305 to 320 in a80472b
and this is implemented in icepack_recompute_constants
:
Icepack/columnphysics/icepack_parameters.F90
Lines 1648 to 1653 in a80472b
So under calc_dragio=.true.
, we do this computation, and when it's false, we use the value of dragio
(default or set via icepack_init_parameters
).
So setting calc_dragio=.true. in Icepack does nothing?
No, it does not do nothing. It computes dragio
from iceruf_ocn
and thickness_ocn_layer1
, instead of taking the dragio
value directly from the Icepack parameters.
Β And a final question: what would a non-Canadian user need to do in CICE or somewhere else in their coupled model to make this work?
I guess the same as a Canadian user :P That is, set calc_dragio=.true.
, and set iceruf_ocn
and thickness_ocn_layer1
as needed.
I hope that's clear ? Let me know how you think the documentation could be improved. I guess the section I link to above would be clearer if the text also mentioned the corresponding code variables...
from icepack.
I started #466, I'll update if we want more details.
from icepack.
My question is a little different from the one you're answering -- sorry for not being clear. My assumption is that iceruf_ocn
is different for each grid cell (thickness_ocn_layer
could also be different for each one). If those are constants everywhere, then this functionality doesn't really do much, right? Isn't the value in it that they can vary? But how they vary must be calculated outside of the sea ice model, or at least outside of Icepack. Does that make sense?
from icepack.
OK, yes I understand better now.
It's true that it does not do much if they are constant. Currently both iceruf_ocn
and thickness_ocn_layer
are indeed constant in our setup. So, we could have simply computed dragio
externally, and set its value using icepack_init_parameters
.
I went back to my PR (#366) and it turns out we quite a long discussion about it :) In fact, it seems you suggested the current approach (having the option to do the computation in Icepack itself).
I'm not opposed to removing it and computing it outside Icepack (and CICE) if we feel it's more natural this way.
One motivation for the current approach was that it added iceruf_ocn
to Icepack, and we had some other in-house code that made use of this value for the form drag parameterization. It turns out I still haven't reimplemented those changes as they are not used in operations. I don't know if we will revisit them eventually.
from icepack.
Related Issues (20)
- bug in icedrv_history.F90 regarding trcrn HOT 1
- FSD documentation
- Minus sign missing in snow loss equation
- Deprecate zsalinity HOT 8
- snow depth bug when running with one snow layer and advanced snow physics
- kice in mushy thermodynamics HOT 1
- Bug in init_vertical_profile for BL99 thermodynamics HOT 1
- tice_high in init_vertical_profile for ktherm = 2 HOT 2
- Meltpond advection equation HOT 4
- Tmax in icepack_itd code HOT 7
- Correct qsno units in comments
- Inconsistent units in zap_snow_temperature HOT 2
- ridge_ice no longer public HOT 7
- Incorrect floe size reference
- Salinity flux does not go to zero when SSS = 0.
- Salinity and enthalpy for new congelation growth. HOT 1
- Undefined behaviour in `calculate_Tin_from_qin` HOT 7
- MOSAiC forcing from Xiaochun Wang HOT 4
- Create fluff branch/tag/documentation
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from icepack.