自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 CESM POP2+CPL7耦合器源码学习(1)

在之后的强迫场构建时,对于风场强迫使用了set_ws方法,该方法的代码较长,但是逻辑总结起来就一句话,根据不同的类型完成风场强迫场的更新和插值。2.0主要使用CIME,1.2主要使用CPL7,稍稍翻阅CPL7文档之后,发现内容还是挺多的,就扒下代码,继续查找风应力的计算过程。在其中自然而然的找到了taux的计算过程,其中计算包括使用大气层网格点n处的风速和海洋层的风速,属于一个交换层变量,成功破案!在方法init_ws中,最初的初始化,也是从文件中读取相关的风应力数据,并根据不同的类型进行不同的插值方法。

2024-03-17 15:22:49 311

原创 CESM CAM源码学习(6)

之后的工作需要用到关于CAM的风应力相关计算今天需要先找到相关风应力的计算过程风应力首先会被表示成taux或者tauy变量首先先试试findstr /s /i "taux" *命令,查找相关的字段结果比较让人失望,整个sld dyn动力核心基本没有关于taux的计算,但是在Camsrfexch文件中有相关变量的记录wsx变量作为u风应力出现,但是我要找的风应力不该在cam_in中,应该是在动力核心中计算的风应力,而不是其他表面物理模块的输入思考并讨论之后,学长推荐先查CAM nam

2024-03-15 14:48:44 278

原创 CESM CAM模块源码学习(5)

这里scanslt_alloc是内存分配过程,而scanslt_bft则是傅里叶前向传播,在每个纬度上运行,该方法比较复杂,进行了大量的三维和二维插值,最后结果fu,fv,T,q,Ps将会被放到fft缓存区中,后续将用其进行傅里叶变换。最后两步,先保存变量fu,fv,调用grmult_run子例程,该方法较长,主要计算网格点空间中的非线性动力学项(为SLD插值做准备)对于cam_run2,核心就是调用phsic_run2,调用tphysac子例程,step_run2主要调用p_d_couping。

2024-03-11 09:56:42 654

原创 CESM CAM源码学习(4)

然后,它在每个网格点上找到了最大的CAPE值,并将其作为最终的CAPE值。这个积分是通过对每个层级的浮力与该层级到下一个层级的压强差取对数的乘积来计算的。这里调用了对流参数化方案,传递了一系列输入参数,包括温度、湿度、降水等,并接收了一系列输出参数,如对流量、凝结-蒸发量、CAPE等。在湿对流过程中,首先调用的就是一个深对流过程,并在过程结束调用physics_update过程更新物理变量。5个输出变量很明显是描述云物理、降水、对流和大气湍流等过程的变量,因为我不怎么关心物理过程,所以先跳过。

2024-03-07 16:27:31 405

原创 CESE CAM模块学习(3)

该方案与我的研究内容无关,但也是第一次较为完整的阅读完了整个过程,在不深究物理过程的细节下,整个代码对一个外行来说阅读难度不高,所以希望自己打起精神来,要做的东西很难,但是总有突破口。这个过程会根据给定的参数计算涡流扩散率,并更新这些变量的值。因为要尝试构建自己的AI参数化方案,对于没有气象学基础的苦命计算机学科学生只能努力先看源码DeBug,再仿写出自己的方案。为了管理pbuf物理缓存,CAM中有大量相关的代码,之后需要留意有哪些需要使用的变量在物理缓存之中。过程计算热量和动量的涡流扩散率。

2024-03-05 15:50:06 524

原创 CESE CAM模块学习(2)

主要以垂直过程为例,查看相关的计算,tphysac子例程的输入参数中有较为熟悉cam_in,cam_out,state,tend,pbuf等变量,囊括了CAM模块所有的重要变量。tphysac子例程的第一个主要部分是进行物理过程的初始化,在调用物理过程之前对一些参数进行准备,主要关于地表通量,气溶胶排放,以及部分函数检查是否有负的湿度。因为先前的计算方式是参考的风场相关的参数化方案,所以接下来在physpkg文件中查找相关的调用和计算过程。文件中比较关键的两个方法,调用物理过程的两个子例程是。

2024-03-04 22:01:56 558

原创 CAM fortran源码学习记录

该module首先定义了一些数据交互接口,还有两个关键变量cam_out_t和cam_in_t,分别代表其他模块与CAM模块交互的数据内容。因为要尝试对CAM模块的风场进行重构,所以得了解CAM模块中和其他模块交互的变量信息,以及CAM模块的关键输入输出。其中i为经度索引,pver为ppgrid变量,所有的大气变量均来自于physics_state这个关键类型。比较关键的子例程是cam_export,主要作用是将cam_out赋值,将大气变量实打实的存进数据结构。

2024-03-04 10:37:24 235

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除