大家好!第6期,和大家一起交流一下FVCOM中关于河流的设置。 河流对河口环流有重要的影响,河流径流、淡水的注入使得河口成为一个独特的系统。FVCOM中,我们可以通过设置nml文件和给定NetCDF格式的river文件,在模型中加入河流。 在nml文件中,关于河流的设置共两部分:
第一部分NML_RIVER_TYPE是对river的整体设置。 RIVER_NUMBER为河流的数量,如果不打算加入河流,此项写0。 RIVER_KIND为河流的输入类型,有两个选项:如果为variable,则FVCOM会根据文件中变量的时间,对每步的计算时刻进行插值;如果为periodic,FVCOM会把文件中给定的时间段看作一个周期,在模型中循环输入这个时间段的河流信息,这种方法只适用于理想算例(时间从0开始,TIMEZONE=‘none’),每个计算时刻是通过求余函数转化至文件内时刻的,具体请看mod_force.F中 RIVTIME = MOD(RIVTIME,RIVER_FORCING(I)%RIVER_PERIOD) RIVER_TS_SETTING为河流温盐的计算方法,有两个选项:如果为specified,则FVCOM会直接把文件中河流的温度、盐度作为河流处的温度盐度(bcond_ts.F);如果为calculated,则FVCOM会将河流作为flux,重新计算该点的温度、盐度(adv_t.F,adv_s.F)。 RIVER_INFO_FILE为河流独立nml文件设置,FVCOM允许将NML_RIVER部分写入独立的nml文件中,这种情况在河流数量较多时使用,这时,可把此项设为河流nml的名字(默认放在INPUT文件夹下)。如果不使用河流独立nml,则将此项设为default。 RIVER_INFLOW_LOCATION为河流位置设置,与后边的RIVER_GRID_LOCATION对应,有两个选项:如果为node,则河流在node点加入;如果为edge,则河流在三角形的边界线上加入。 第二部分NML_RIVER是对每一条河流的具体设置,因此,此部分出现的次数与河流的数量相同。在RIVER_INFO_FILE设置河流独立nml文件时,此部分应写入河流独立nml文件。 RIVER_NAME为河流的名字,对应输入文件中的river_names变量。 RIVER_FILE为河流输入文件的名字。 RIVER_GRID_LOCATION为河流的位置,如果RIVER_INFLOW_LOCATION为node,则此项写河流所在node序号;如果为edge,则此项写element序号。 RIVER_VERTICAL_DISTRIBUTION为河流垂向比例,此项涉及make.inc中的FLAG RIVER_FLOAT。如果FLAG RIVER_FLOAT没有被打开,那么此项读入一个实数向量,向量长度为siglay(siglev-1),每项分别代表各层所占比例;如果FLAG RIVER_FLOAT被打开,那么此项读入一个字符串,我们可以通过使用‘*’来简化此项的书写。举个例子,我们设置sigma layer有五层,河流在上四层各占25%,最后一层为零,使用第一种写法: RIVER_VERTICAL_DISTRIBUTION = 0.25 0.25 0.25 0.25 0.0 使用第二种写法: RIVER_VERTICAL_DISTRIBUTION = 4*0.25,1*0.0 试想,如果垂直分层有45层,那么第二种方法将方便许多。 河流的NetCDF输入文件比较简单,内容如下:
river_names为河流名字,river_flux、river_temp、river_salt分布为河流的径流、温度、盐度,Itime和Itime2为时间项,与其他FVCOM的NetCDF文件中的一致。 对于刚接触的朋友,可以先尝试一下FVCOM package中River_Plume算例。
最后,我们来说一下河流数据的获取。由于使用不多,我对河流数据的来源了解比较少,在这里给大家推荐一个汇总网站GRDC(Global Runoff Data Centre): http://www.bafg.de/GRDC/EN/01_GRDC/13_dtbse/database_node.html 该网站按大洲汇总了各个国家的河流数据来源,但并对于特定国家或地区,并不一定能获取某时间段的数据。比如,在该网站上点击中国,会跳转到我国水利部的网址,在上边我只能找到当天我国各大江河的径流数据。
& r+ T9 ~" B* n0 H, ^ |