气象编码_从气象学家的角度编码

气象编码

by Justin Lynn Reid

贾斯汀·林恩·里德(Justin Lynn Reid)

从气象学家的角度编码 (Coding from a Meteorologist’s Perspective)

Aside from researchers and TV weather people, few people are versed in the technical side of meteorology and atmospheric science.

除了研究人员和电视气象人员以外,很少有人精通气象学和大气科学。

An eclectic field, atmospheric science combines aspects of mathematics, physics, technical writing, academic research, and mass communication into a field with a unique perspective.

大气科学是一个折衷领域,将数学,物理学,技术写作,学术研究和大众传播等方面结合在一起,具有独特的视野。

I’ve done work with many of these parts of atmospheric science. What I specialize in now is a bit different then what most meteorologists do with their training.

我已经完成了许多大气科学方面的工作。 我现在擅长的工作与大多数气象学家在培训中所做的有所不同。

Instead of focusing on the traditional paths of operational forecasting, TV, or governmental research, I am instead what is known as a meteorological programmer: one part meteorologist, one part software developer.

我不是专注于运营预测,电视或政府研究的传统途径,而是所谓的气象程序员 :一部分是气象学家,一部分是软件开发人员。

To quoting one of my former coworkers, meteorology is the “first Big Data problem” where many precursors to the new field of data science exist. Earth observing networks (such as satellites, surface weather stations, weather balloons, and Doppler Weather Radar) are essentially a lower resolution Internet of Things that run 24 hours a day. From those networks several physics models (called Numerical Weather Prediction (NWP) Models) are run on supercomputers by either government agencies or private firms that produce a set of best guesses at future atmospheric conditions that forecasters interpret and analyze. It’s these things behind the scenes that produce the weather forecasts you get online or via a local media outlet.

用我以前的一位同事的话说,气象学是“第一个大数据问题”,存在着许多数据科学新领域的先驱。 地球观测网络(例如卫星,地面气象站,气象气球和多普勒天气雷达)本质上是一天24小时不间断运行的分辨率较低的物联网。 在这些网络中,政府机构或私人公司在超级计算机上运行了几种物理模型(称为数值天气预报(NWP)模型 ),这些模型在预报员解释和分析的未来大气条件下产生了一组最佳猜测。 正是这些原因导致了您上网或通过本地媒体获取天气预报。

You may be asking, how does all of this relate to something like Free Code Camp, JavaScript or web development? I will highlight some ways that I think the subject directly lends itself to the software development process, and even helps achieve a greater understanding of it.

您可能会问,所有这些与Free Code Camp ,JavaScript或Web开发之类的东西有什么关系? 我将重点介绍一些我认为该主题直接适用于软件开发过程的方法,甚至有助于加深对它的理解。

科学方法和“女士 卷毛原理” (The Scientific Method and the “Ms. Frizzle Principle”)

In atmospheric science, as in other STEM fields, new discoveries or insights are made via experimentation, testing and peer review. Even after being involved with the meteorology industry for many years professionally, I still call this process “the Ms. Frizzle Principle.”

与其他STEM领域一样,在大气科学中,通过实验,测试和同行评审可以发现新发现或新见解。 即使在从事气象行业多年的专业工作后,我仍然将此过程称为“弗里兹女士原则”。

In one episode of The Magic School Bus where Ms. Frizzle and her students were on a field trip exploring an undersea volcano, one of the characters kept citing research already written as her main source of understanding. During the trip, the student loses her books, thereby losing access to the “research” that she keeps citing. In the process of this, she has to learn to draw conclusions based off of her own observations. At the end of the show, the student’s conclusions were ultimately proven right, as she reasoned that the undersea volcano would erupt and form a new island.

在《魔术校车》的一集中,弗里兹勒女士和她的学生们在实地考察海底火山,其中一个人物一直引用已经进行的研究作为她的主要理解来源。 在旅途中,学生会丢失她的书,从而无法获得她一直引用的“研究”。 在此过程中,她必须学会根据自己的观察得出结论。 表演结束时,学生的结论最终被证明是正确的,因为她认为海底火山将喷发并形成一个新的岛屿。

If there is anything consistent in the programming work that I’ve done, it’s that I follow this kind of process for each project or task that I complete. Though I do have access to “research” in the forms of documentation, forum posts, and collaboration; there is no one to tell me how to put all the pieces together to create the application that I have to create.

如果我完成的编程工作中有什么不一致之处,那就是我对完成的每个项目或任务都遵循这种过程。 尽管我确实可以文档,论坛帖子和协作的形式进行“研究”; 没有人告诉我如何将所有部分放在一起以创建必须创建的应用程序。

In order to write an application properly I have to break a big problem into a series of smaller problems. And for each of those smaller problems I have to try and find connections between ideas in order to formulate a possible solution.

为了正确编写应用程序,我必须将一个大问题分解为一系列较小的问题。 对于每一个较小的问题,我都必须尝试找出想法之间的联系,以便提出可能的解决方案。

This is a hypothesis and in programming I can literally write my best guess as lines of code. Then I test those lines of code for that given small problem and see if they have the behavior that should be correct. If the code works then I move on to the next small problem, if not I try to learn why the code failed. And then use that information to make another attempt at solving the small problem.

这是一个假设,在编程中,我可以将我的最佳猜测写成代码行。 然后,针对给定的小问题,测试那些代码行,并查看它们是否具有正确的行为。 如果代码工作然后我移动到下一个小问题,如果不是我试图了解为什么代码失败。 然后使用该信息来尝试解决该小问题。

When you solve all the small problems the application is done. This is why when I heard of Test-Driven Development and frameworks like Jasmine, I found that looking at code in that way was natural for me personally. It was just placed into a formal way of doing things.

解决所有小问题后,应用程序就完成了。 这就是为什么当我听说测试驱动开发和Jasmine之类的框架时,我发现以这种方式查看代码对我个人而言很自然。 它只是被放置在一种正式的做事方式中。

If I could give you just two pieces of advice about programming, they would be:

如果我仅能给您关于编程的两条建议,它们将是:

  • never tackle a big problem as a whole

    永远不会解决一个大问题
  • never let a lack of knowledge intimidate you, as each new project is a journey into the unknown, and failure always accompanies the unknown.

    永远不要让缺乏知识的人吓到您,因为每个新项目都是通往未知的旅程,而失败总是伴随着未知。
气象领域技术和Web的关系非常密切 (Meteorology Domain Technologies and the Web Are Very Close Relatives)

Other than the scientific method, meteorology has plenty of domain-specific technologies that make the transition to web development not that difficult.

除了科学方法之外,气象学还拥有许多特定领域的技术,这些技术使向Web开发的过渡变得不那么困难。

Besides being exposed to the web such as APIs or via web apps that are made to use meteorological data, many of the underlying concepts of atmospheric science computing directly translate over.

除了暴露于诸如API之类的网络或通过使用气象数据的网络应用程序之外,许多大气科学计算的基本概念也可以直接转化。

For example, things such as the radar imagery you see on TV are data visualizations, a simplified form of a large set of observations/data that can be interpreted effectively.

例如,您在电视上看到的诸如雷达图像之类的东西就是数据可视化,这是可以有效解释的大量观测/数据的简化形式。

In the case of radar and satellite, each observation is a pixel gathered via remote sensing and instead of having pixel values being in a table. The data are rendered in a more useful form.

在雷达和卫星的情况下,每个观测值都是通过遥感收集的像素,而不是在表中包含像素值。 数据以更有用的形式呈现。

In web development, data are at the core of how applications behave and appear, as well as the content they have.

在Web开发中,数据是应用程序行为和外观以及其内容的核心。

Instead of manipulating data in a common meteorology setting (say finding average or maximum temperature), on the web the same concepts are used in a much more general way, such as with D3.js.

在Web上,代替在通用的气象设置中处理数据(例如查找平均或最高温度),以更通用的方式使用相同的概念,例如D3.js。

Even beyond visualization, common meteorology technologies have more web industry-standard analogues, such as with Unidata LDM and Node.js. Meteorology is inevitable tied to both programming and the web, and both are essential parts of being an atmospheric scientist and a technical professional.

除了可视化之外,常见的气象技术还具有更多的Web行业标准类似物,例如Unidata LDMNode.js。 气象学不可避免地与编程和网络联系在一起,两者都是成为大气科学家和技术专业人员的重要组成部分。

In conclusion, this is how I’ve come to see programming from my personal viewpoint. Each person’s reason for programming is different. I hope this will give some you perspective on how it can be applied to scientific fields.

总之,这就是我从个人角度来看编程的方式。 每个人编程的原因都不相同。 我希望这会给您一些有关如何将其应用于科学领域的观点。

翻译自: https://www.freecodecamp.org/news/coding-from-a-meteorologist-s-perspective-3c81aa9c1160/

气象编码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值